0

我正在寻找一个用户激活“下一个站点”按钮,该按钮通过另一个工作表中定义的单元格范围来推进单元格的值。每次按下按钮时,它都应返回范围内下一项的值

到目前为止,我有:

Sub NextSite()
 Set EXCEPTION = Sheets("EXCEPTION")
 Set CONTROL = Sheets("CONTROL")
 Dim rCell As Range
 Dim rRng As Range

 CurrentVal = EXCEPTION.Range("B16")

 Set rRng = CONTROL.Range("B9:B72")

 For Each rCell In rRng.Cells
    If CurrentVal = rCell.Value Then
        GoTo NextCell
        Else
        ActiveCell.Formula = CONTROL.Range(rCell.Address)
        Exit For
    End If
NextCell:
Next rCell

End Sub

虽然我认为我在这里有了一个想法的开始,但我无法完全了解整个范围内的工作流程。

如果有人可以为此提供建议,我还希望有一个单独的代码可以在列表中找到以前的站点。

4

1 回答 1

0

有趣的问题..在这个例子中,我们想从一个名为rLook的范围中顺序采样。该范围是一组不相交的单元格(最坏的情况),但宏将适用于任何范围。我们使用静态变量来采样索引:

Dim Kounter As Long
Sub sequentialSamples()
    Dim rLook As Range, r As Range
    Set rLook = Sheets("Sheet2").Range("A1,B9,C13,F1,J66")
    If Kounter = 0 Or Kounter > rLook.Count Then
        Kounter = 1
    End If
    j = 0
    For Each r In rLook
        j = j + 1
        If j = Kounter Then
            MsgBox Kounter & vbCrLf & r.Address & vbCrLf & r.Value
            Kounter = Kounter + 1
            Exit Sub
        End If
    Next r
End Sub
于 2013-10-21T13:36:26.237 回答