VBA帮助。简单的代码帮助。使activecell成为值> 100的第一个单元格

时间:2016-04-01 05:46:26

标签: excel vba

我创建了一个包含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

2 个答案:

答案 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)