VBA - 在列中划分值

mgl*_*sty 1 vba divide

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

我有一列整数,我想要除以60.列是"X".这是我的代码:

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

但我总是得到"类型不匹配".我做错了什么?

Gar*_*eth 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
Run Code Online (Sandbox Code Playgroud)

我已经假设它MaxRows是作为X工作表列中的最后一行.