Vba 在电子表格中查找多个值实例
我试图在VBA中创建一个宏,该宏将在“粘贴页”中的列中搜索包含“转换”一词的任何单元格。一旦我有了那个单元格,我就可以在对应于该行的其他列中收集其他信息。我遇到的问题是创建某种类型的循环,该循环将在整个数据库中运行,以返回单词“conversion”的所有实例。以下是我目前的代码:Vba 在电子表格中查找多个值实例,vba,excel,for-loop,while-loop,Vba,Excel,For Loop,While Loop,我试图在VBA中创建一个宏,该宏将在“粘贴页”中的列中搜索包含“转换”一词的任何单元格。一旦我有了那个单元格,我就可以在对应于该行的其他列中收集其他信息。我遇到的问题是创建某种类型的循环,该循环将在整个数据库中运行,以返回单词“conversion”的所有实例。以下是我目前的代码: Sub Conversion() Dim Comment As Range Dim i As String Worksheets("PasteSheet").Activate Range("Comment").
Sub Conversion()
Dim Comment As Range
Dim i As String
Worksheets("PasteSheet").Activate
Range("Comment").Find("conversion").Select
Worksheets("sheet1").Range("a1") = Selection.Offset(0, -8)
End Sub
救命啊 这里有一种方法可以做到这一点。这将把找到的单词的地址保存在一个数组中,你可以在最后随意使用这个数组。我使用D列作为示例列。必要时做些改变
Sub getCells()
Dim rng As Range, cel As Range
Dim celAddress() As Variant
Dim i As Long
i = 0
Set rng = Range("D1:D" & Cells(Rows.Count, 4).End(xlUp).Row)
ReDim cellAddress(rng.Cells.Count)
For Each cel In rng
If cel.Value = "conversion" Then
cellAddress(i) = cel.Address
i = i + 1
End If
Next cel
ReDim Preserve cellAddress(i - 1)
For i = LBound(cellAddress) To UBound(cellAddress)
' Do whatever with each cell address found
Debug.Print cellAddress(i)
Next i
End Sub
请参阅以了解如何执行多个查找搜索。特别是内部If块是您所需要的。事实上,它更有用。谢谢你的帮助!我不知道如何让你的工作,但它让我以正确的方式思考,找出它!非常感谢。