【问题标题】:Running a For Loop in VBA on a Selected Range在 VBA 中对选定范围运行 For 循环
【发布时间】:2019-01-12 22:14:11
【问题描述】:

我想做的很简单,但我就是无法让它发挥作用。我想选择一系列单元格并运行一个宏:

  1. 在所选范围内从第一行到最后一行运行 for 循环
  2. 然后在行的每一列中返回连接值的“=NUMBERVALUE()”
  3. 输出列将紧邻所选范围的最后一列

这是我的代码:

Dim myRange As Range
Set myRange = Selection

First_Col = myRange.Column
Last_Row = myRange.Rows.Count + myRange.Row - 1
Last_Col = myRange.Column + myRange.Columns.Count - 1
Out_put_Col = Last_Col + 1


For i = myRange.Row To Last_Row

    Cells(i, Out_put_Col) = "=NUMBERVALUE(Cells(i, First_Col) & Cells(i, First_Col+1)"

Next i

VBA 在 for 循环中写入的内容存在问题。我是 VBA 的新手,但根据它的编写方式,我会认为它会起作用。感谢您的帮助。

【问题讨论】:

  • 如果您觉得回复有帮助,请务必“点赞”,最好是“接受”。

标签: vba for-loop formatting range


【解决方案1】:

更像:

For i = myRange.Row To Last_Row

    Cells(i, Out_put_Col) = "=NUMBERVALUE(" & Cells(i, First_Col).address & ":" & _
                                          Cells(i, First_Col+1).address & ")"

Next i

我不确定 NumberValue 是否会这样工作。

【讨论】:

  • 非常感谢!对于我想要做的事情,我需要将“:”更改为“&”。但这很好用!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-08-08
  • 1970-01-01
  • 2017-02-10
  • 1970-01-01
  • 1970-01-01
  • 2023-03-18
  • 1970-01-01
相关资源
最近更新 更多