使用for循环搜索i的值

时间:2016-03-21 20:42:52

标签: excel vba excel-vba

如果我使用for i = 1 to 1000,如何使用Cell.Find功能在我的工作表中搜索i的值?

我需要检查表格中是否有1到1000之间的任何数字(或者行......不重要)。最好使用for循环。

我做了以下事情:

Dim i As Integer
For i = 1 To 10
    Cells.Find(What:="i", After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
        xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _, SearchFormat:=False).Activate

Next i

End Sub

1 个答案:

答案 0 :(得分:0)

如果只有i的一个实例,那么find可能适合您。

Sub UsingFind()
    Dim i As Integer, c As Range

    For i = 1 To 1000
        Set c = Cells.Find(what:=i, lookat:=xlWhole)

        If Not c Is Nothing Then
            c.Font.Bold = 1
        Else:    'MsgBox "Not Found"
        End If
    Next i
End Sub

如果有i个实例,则必须使用其他内容,例如循环遍历每个单元格。

例如(x代替i):

Sub MoreThanOne()
    Dim x As Integer, c As Range, rng As Range

    Set rng = Cells.SpecialCells(xlCellTypeConstants, 23)
    For x = 1 To 1000
        For Each c In rng.Cells
            If c = x Then
                c.Font.Bold = 1
            End If
        Next c
    Next x

End Sub