我创建了一个包含1列和200行的简单excel文件。每个单元格包含一个整数值。
我试图创建一个VBA代码,该代码将自动使第一个单元格的整数值超过100个活动单元格。
这是我提出的代码。我的问题是它什么都不做:(
Sub test1()
Dim trial As Range
Dim cell As Range
Set trial = Range("A1:A100")
For Each cell In trial
If cell > 100 Then
End If
Next cell
End Sub
答案 0 :(得分:2)
试试这个。
使用.Value
时始终使用Range
并且您想要使用Cell
值。正如@gizlmeier在下面的评论中提到的那样。当你在稍后阶段开始编程以便进行更清晰的编码时,很容易得到像这样的小东西。
此外,Sub
将运行,然后停止而不更改任何内容,但它确实有效。因此,您只需将Activate
添加到If
语句,然后决定仅结束For
循环或End
Sub
Sub test1()
Dim trial As Range
Dim cell As Range
Set trial = Range("A1:A100")
For Each cell In trial
If cell > 100 Then
cell.Activate
'Exit For will exit the For Loop
Exit For
'End will stop the code from running
End
End If
Next cell
End Sub
答案 1 :(得分:2)
没有循环:
Dim rng1 As Range
Dim lngPos As Long
Set rng1 = [a1:a100]
lngPos = Evaluate("=MIN(IF(" & rng1.Address & ">100,ROW(" & rng1.Address & "),1000))")
If lngPos < rng1.cells.count Then Application.Goto rng1.Cells(lngPos)