『壹』 VBA模糊查詢sheet1,並將資料復制至sheet2
Subsousuo()
DimrAsLong
DimcAsLong
DimstrAsString
DimrngAsRange
str=InputBox("輸入搜索內容")
IfLen(str)=0ThenExitSub
c=Sheets("Sheet2").Range("A65536").End(xlUp).Row
Sheets("匯總").Activate
Forr=1To[A65536].End(xlUp).Row
Setrng=Rows(r).Find(str,LookIn:=xlValues,LookAt:=xlPart)
IfNotrngIsNothingThen
Rows(r).Copy
c=c+1
Worksheets("Sheet2").Range("A"&c).PasteSpecial_
Paste:=xlPasteAll,Operation:=xlNone,_
SkipBlanks:=False,Transpose:=False
EndIf
Next
Application.CutCopyMode=False
EndSub
『貳』 如何用VBA實現在多個sheet中進行模糊查詢,並將包含關鍵字的一整行復制至指定位置
SubMySearch()
Dimws(6)AsWorksheet
Dimc1AsRange,c2AsRange
Dimr
Setws(1)=Worksheets("Sheet1") '請自行修改為實際的工作表名
Setws(2)=Worksheets("Sheet2") '請自行修改為實際的工作表名
Setws(3)=Worksheets("Sheet3") '請自行修改為實際的工作表名
Setws(4)=Worksheets("Sheet4") '請自行修改為實際的工作表名
Setws(5)=Worksheets("Sheet5") '請自行修改為實際的工作表名
Setws(6)=Worksheets("Sheet6") '請自行修改為實際的工作表名
ws(6).Cells.Clear
Setc2=ws(6).Range("A1")
Forr=1To1000 '由於未說明Sheet5中A列關鍵字的行數,且其中有空行,請自行修改為實際的行數
Setc1=ws(5).Range("A"&r)
Ifc1Like"1*"Then
ws(3).Cells.Find(c1,lookat:=xlWhole).EntireRow.CopyDestination:=c2
ElseIfc1Like"05*"Then
ws(1).Cells.Find(c1,lookat:=xlWhole).EntireRow.CopyDestination:=c2
ElseIfc1Like"0*"Then
ws(2).Cells.Find(c1,lookat:=xlWhole).EntireRow.CopyDestination:=c2
ElseIfc1<>""Then
ws(4).Cells.Find(c1,lookat:=xlWhole).EntireRow.CopyDestination:=c2
EndIf
Setc2=c2.Offset(1,0)
Nextr
EndSub
『叄』 excel vba 窗體文本框輸入內容對列表框內容進行模糊查找,結果在列表框中顯示,求代碼。
給出你的數據源,寫明你的確定的要求,模糊查找是以那個欄位進行模糊查找。
『肆』 excel vba 里怎麼實現模糊查詢,需要代碼 我做了這樣一個窗口,隨便在一欄中輸入信息,能模糊查詢出信息
有窗體,還要給出源數據的格式,最好截圖
模糊查詢 用FIND 或者like 比較符都可以
窗體上少一個數據輸出控制項,建議用listview 或者listbox。用於顯示模糊查詢到的內容
『伍』 excel vba 窗體文本框輸入內容對列表框內容進行模糊查找,結果在列表框中顯示,並可以點擊提取 跪求代碼。
'模糊查詢代碼
DimiAsLong
DimjAsLong
Me.品名查詢.MultiSelect=fmMultiSelectMulti
Fori=0ToMe.品名查詢.ListCount-1
Me.品名查詢.Selected(i)=False
Forj=0ToMe.品名查詢.ColumnCount-1
IfMe.品名查詢.Column(j,i)Like"*"&Me.TextBox1.Text&"*"Then
Me.品名查詢.Selected(i)=True
ExitFor
EndIf
Next
Next
'提取的代碼提取出的內容會放在一個新工作表中
DimiAsLong
DimjAsLong
DimkAsLong
DimshtAsWorksheet
Fori=0ToMe.品名查詢.ListCount-1
IfMe.品名查詢.Selected(i)Thenj=j+1
Next
Ifj=0ThenMsgBox"沒有選中行":ExitSub
Setsht=ThisWorkbook.Worksheets.Add
k=1
Fori=0ToMe.品名查詢.ListCount-1
Forj=0ToMe.品名查詢.ColumnCount-1
IfMe.品名查詢.Selected(i)Thensht.Cells(k,j+1)=Me.品名查詢.Column(j,i)
Next
k=k+1
Next
『陸』 vba查詢代碼
1、查詢第B到J列(也包括L到S列)內的內容,如果查詢到,則返回第A列(或第K列內)的值。請問代碼應該怎麼寫??
For M=1 to 最大行數
If Sheet1.Cells(M, 2).Value="搜尋值" Then '第2列代表合並後的B到J列
Msgbox Sheet1.Cells(M, 1).Value '返回第A列內容
End If
If Sheet1.Cells(M, 12).Value="搜尋值" Then '第12列代表合並後的L到S列
Msgbox Sheet1.Cells(M, 11).Value '返回第K列內容
End If
Next
2、把幾列或幾行進行合並居中後,這個單元格應該如何用坐標表示呢??
是以合並單元格中那個最左最上角的單元格坐標為准,如上面第一題的回答。
記得給分,:)
----------------------------------------------------------------------
1、查詢第B到J列(也包括L到S列)內的內容,Sheet1.Cells(M, 2).Value="搜尋值" Then ,這個必須要全部字元串匹配吧,事實上我只查詢這個單元格內的某一個片語啊。
那可以用模糊查詢:If Instr(Sheet1.Cells(M, 2).Value,"搜尋值")>0 Then
2、 Msgbox Sheet1.Cells(M, 1).Value '返回第A列內容,
有可能查詢到的第「M」行,並不是「最左最上角的單元格」,所以(M,1)其實是沒有值的。怎麼解決呢?
這個沒有任何影響,也不會報錯,例如第M行和第M+1行是行合並的單元格,且合並後的單元格內容為「測試」二字,則:
Msgbox Sheet1.Cells(M, 1).Value '返回的是「測試」二字
Msgbox Sheet1.Cells(M+1, 1).Value '返回的是「」空值,並不影響其他匹配和篩選操作、也不會報錯,因此循環的時候就算輪到合並後的空行也沒有關系的,你可以試試。
『柒』 vba模糊查詢的條件要根據單元格的內容變化
你這些代碼是在VBA中的嗎?如果是vba里,應該有雙引號的。
一般是定義一個變數為這句話,然後再執行變數。所以你的這個應該是
msql="selet*fromuserwherenamelike'%小%'orderbyidasc"
如果用A1單元格的話就是
msql="selet*fromuserwherenamelike'%"range("a1")&"%'orderbyidasc"
這樣,就將A1的值轉成了這一句代碼中的一部分。
『捌』 Excel 如何用vba實現模糊查找
1、使用like + 通配符:? 代替一個位元組; * 表示多個位元組;
舉個簡單的例子:
if cells(1,1).value like "蘋果*" 表示判斷單元格A1的值是否是以「蘋果」開頭,後面還可以有其他漢字或字元
if cells(1,1).value like "*蘋果*" 表示判斷 A1的裡面的內容為 包含蘋果倆字
[A-D]* 表示A-D開頭的字元串
等等;
2、正則表達式,這個用起來很Nice,但是比較復雜一點,我就不介紹了,上面夠你用了,如果需要你去網路下,很多地方都有介紹
再配合你需要的查找功能進行條件循環遍歷查找即可(如果你懂vba的話)。
『玖』 excel vba 模糊搜索,模糊匹配,查找功能
模糊查詢很好實現啊。
cells.find(查找值,look:=xlpart)