VBA - 在列中划分值

时间:2014-11-18 15:03:20

标签: vba divide

因为我是VBA的完整新手,所以我有一个问题。

我有一列整数,我希望除以60.该列是" X"。这是我的代码:

For Each element In Worksheets("parsed").Range("X1:X" & MaxRows).Cells
    element.Value = element.Value / 60
Next

但我总是得到"键入不匹配"。我做错了什么?

2 个答案:

答案 0 :(得分:5)

首先,请确保将element声明为范围。其次,从循环中删除.cells。然后在循环语句For each cell in the range中有效地说明如下:

Sub SomeProc()

Dim element As Range
Dim MaxRows As Long

With Worksheets("parsed")
    MaxRows = .Cells(.Rows.Count, "X").End(xlUp).Row
End With

For Each element In Worksheets("parsed").Range("X1:X" & MaxRows)
    If IsNumeric(element.Value) Then
        element.Value = element.Value / 60
    End If
Next

End Sub

我假设MaxRows是作为工作表的X列中的最后一行。

答案 1 :(得分:-1)

Dim CurRow As Long
For CurRow = 1 to MaxRows
    element = Worksheets("parsed").Range("X" & CurRow).Value / 60
    'Do something with element for example Range(Destination).Value = element
Next CurRow