Vba 在单元格中查找单词
Excel-VBA 我想知道如何使用VBA在Excel的行范围内查找单词。例如,“要查找的单词”,这不仅仅是单元格值,而是将单词转换为字符串。例如,在字符串“需要帮助映射网络打印机”中查找单词“network”的方法 使用一个简单的循环Vba 在单元格中查找单词,vba,excel,Vba,Excel,Excel-VBA 我想知道如何使用VBA在Excel的行范围内查找单词。例如,“要查找的单词”,这不仅仅是单元格值,而是将单词转换为字符串。例如,在字符串“需要帮助映射网络打印机”中查找单词“network”的方法 使用一个简单的循环 Sub Button1_Click() Dim ws As Worksheet Dim sh As Worksheet Dim lstRw As Long Dim rng As Range Dim s As String
Sub Button1_Click()
Dim ws As Worksheet
Dim sh As Worksheet
Dim lstRw As Long
Dim rng As Range
Dim s As String
Dim c As Range
s = "* network *"
Set ws = Sheets("Data")
Set sh = Sheets("SFB")
With ws
lstRw = .Cells(.Rows.Count, "E").End(xlUp).Row
Set rng = .Range("E2:E" & lstRw)
End With
For Each c In rng.Cells
If c.Value Like s Then
c.EntireRow.Copy sh.Cells(sh.Rows.Count, "A").End(xlUp).Offset(1)
End If
Next c
End Sub
也可以使用过滤器宏
Sub FiltExample()
Dim ws As Worksheet, sh As Worksheet
Dim rws As Long, rng As Range
Set ws = Sheets("Data")
Set sh = Sheets("SFB")
Application.ScreenUpdating = 0
With ws
rws = .Cells(.Rows.Count, "E").End(xlUp).Row
.Range("E:E").AutoFilter Field:=1, Criteria1:="=*network*"
Set rng = .Range("A2:Z" & rws).SpecialCells(xlCellTypeVisible)
rng.EntireRow.Copy sh.Cells(sh.Rows.Count, "A").End(xlUp).Offset(1)
.AutoFilterMode = False
End With
End Sub
非常感谢您的回复,从您的代码中,我将使用“s”变量部分在我的VBA中使用它,它工作得很好
'Word to look up s=“*SFB*”如果列E=“Word to found”中的值,则复制整行以打开If Range(“E”和CStr(LSearchRow))。值类似于s然后
Thx
Sub FiltExample()
Dim ws As Worksheet, sh As Worksheet
Dim rws As Long, rng As Range
Set ws = Sheets("Data")
Set sh = Sheets("SFB")
Application.ScreenUpdating = 0
With ws
rws = .Cells(.Rows.Count, "E").End(xlUp).Row
.Range("E:E").AutoFilter Field:=1, Criteria1:="=*network*"
Set rng = .Range("A2:Z" & rws).SpecialCells(xlCellTypeVisible)
rng.EntireRow.Copy sh.Cells(sh.Rows.Count, "A").End(xlUp).Offset(1)
.AutoFilterMode = False
End With
End Sub