因为我是VBA的完整新手,所以我有一个问题。
我有一列整数,我希望除以60.该列是" X"。这是我的代码:
For Each element In Worksheets("parsed").Range("X1:X" & MaxRows).Cells
element.Value = element.Value / 60
Next
但我总是得到"键入不匹配"。我做错了什么?
答案 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