VBA搜索范围
问题描述:
我试图用.Find方法搜索一系列单元格,我似乎无法使其工作。我在单元格A1和A2中有上限和下限数字,只是想要搜索A列。有没有另外一种方法可以设置.Range(),以便我可以搜索这些特定的单元格?VBA搜索范围
lowNum = Worksheets("Sheet4").Cells(1, 1)
HighNumb = Worksheets("Sheet4").Cells(1, 2)
Row = 2
While Not IsEmpty(Worksheets("Sheet4").Range("A" & Row))
cn = 1
While Not IsEmpty(Worksheets("Sheet4").Cells(Row, cn))
Set c1 = Worksheets("Sheet2").Range(Cells(lowNum, "A"), Cells(HighNumb,"A")).Find(
What:=Worksheets("Sheet4").Cells(Row, cn), _
LookIn:=xlValues)
If Not c1 Is Nothing Then
Worksheets("Sheet4").Cells(Row, cn).Delete shift:=xlToLeft
cn = cn - 1
End If
cn = cn + 1
Wend
Row = Row + 1
Wend
End Sub
答
我纠正你的代码了一下,告诉我,如果它的工作:
你可能要修复lowNum = Worksheets("Sheet4").Cells(1, 1).Value
HighNumb = Worksheets("Sheet4").Cells(1, 2).Value
LastRow = Worksheets("Sheet4").Cells(Worksheets("Sheet4".Rows.Count, "a").End(xlUp).Row
For Row = 2 To LastRow
While Not IsEmpty(Worksheets("Sheet4").Range("A" & Row))
cn = 1
While Not IsEmpty(Worksheets("Sheet4").Cells(Row, cn))
Set c1 = Worksheets("Sheet2").Range(Cells(lowNum, "A"), Cells(HighNumb,"A")).Find(What:=Worksheets("Sheet4").Cells(Row, cn).Value, LookIn:=xlValues)
If Not c1 Is Nothing Then
Worksheets("Sheet4").Cells(Row, cn).Delete shift:=xlToLeft
cn = cn - 1
End If
cn = cn + 1
Wend
Row = Row + 1
Wend
End Sub
一件事是这样的'工作表(“Sheet2的”)范围(单元格(lowNum“。 (“Sheet2”),单元格(LowNum,“A”),工作表(“Sheet2”)。单元格(HighNumb,“A”)'或者,我喜欢为了简洁而写它'With Worksheets(“Sheet2”).Range(.Cells(lowNum,“A”),. Cells(HighNumb,“A “))''''''''''''''''''''当你使用单元格范围内的单元格时,你需要限定你的图表引用 – user1274820
这个意思不太清楚你的意思是:我有上限和下限在单元格A1和A2中绑定数字,只是想要搜索A列。有没有另外一种方法可以设置.Range(),以便我可以搜索这些特定的单元格?您是否在Sheet2单元格A1和A2中的数字之间寻找整数? – user1274820
我是要搜索两个数字之间的单元格。例如,我想从A200:A450中搜索我在Sheet4中保存的值。 – levif1