標題:
[發問]
模糊查詢方式
[打印本頁]
作者:
tsuan
時間:
2012-12-14 10:14
標題:
模糊查詢方式
想請教諸位先進:
我希望可以在附件查詢內B1 輸入欲查詢公司 或 F2 輸入欲查詢人員時 可以在下方抓到聯絡人頁內之相關資料。
且希望查詢方式可設定為"包含"查詢"資料"即可。
希望先進可指導
[attach]13524[/attach]
作者:
die78325
時間:
2012-12-14 13:01
回復
1#
tsuan
[attach]13528[/attach]
附件內我只做了 姓名查詢 F1
公司也是這樣做 只是裡面稍微簡單改一下 !
有問題在發問!
作者:
GBKEE
時間:
2012-12-14 13:17
回復
1#
tsuan
程式碼: 複製貼上在 [查詢]工作表的模組
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range) '[查詢]工作表的 ( 修改儲存格 ) 觸發事件
If Target.Address(0, 0) = "B1" Or Target.Address(0, 0) = "F1" Then
Application.EnableEvents = False '停止:觸發事件
'EnableEvents 屬性 如果指定物件能觸發事件,則本屬性為 True。讀/寫 Boolean。
Range("A3").CurrentRegion.Offset(1) = "" '清除舊有查詢資料
With Sheets("聯絡人")
.AutoFilterMode = False
'AutoFilterMode 屬性 如果目前在工作表上顯示有 [自動篩選] 下拉箭號,則此屬性為 True。
'該屬性與 FilterMode 屬性互相獨立。讀/寫 Boolean。
.Range("A1").AutoFilter 1, "*" & [B1] & "*"
'[自動篩選] 第一欄 準則字串: "*" & [B1] & "*"
.Range("A1").AutoFilter 2, "*" & [F1] & "*"
'[自動篩選] 第二欄 準則字串: "*" & [F1] & "*"
.UsedRange.Offset(1).Copy [A4] '複製資料
.AutoFilterMode = False
End With
Application.EnableEvents = True
End If
End Sub
複製代碼
作者:
GBKEE
時間:
2012-12-14 14:00
回復
2#
die78325
查詢功能() :加上公司查詢
Name 是VBA使用的關鍵字 變數,程序名稱要避免使用
Option Explicit
Sub 查詢功能()
Dim 人員 As Range, 公司 As Range, I As Integer
Application.ScreenUpdating = False '關閉顯示
With Sheets("查詢")
Set 公司 = .Range("B1")
Set 人員 = .Range("F1")
.Range("A4:A" & .[a4].End(xlDown).Row).EntireRow = ""
End With
With Sheets("聯絡人")
For I = 2 To .[B65536].End(xlUp).Row
If .Cells(I, 1) Like "*" & 公司 & "*" And .Cells(I, 2) Like "*" & 人員 & "*" Then '萬用字元收尋
Sheets("聯絡人").Range("A" & I & ":J" & I).Copy
With Sheets("查詢")
.Cells(.[a65536].End(xlUp).Row + 1, 1).PasteSpecial Paste:=xlPasteValues
End With
End If
Next I
End With
Sheets("查詢").Activate
[F1].Select
Application.ScreenUpdating = True '開啟顯示
End Sub
複製代碼
作者:
tsuan
時間:
2012-12-14 15:36
感謝 die78325 及 GBKEE 兩位
愉快使用中,也正在學習兩位方式中。
作者:
Hsieh
時間:
2012-12-16 15:52
回復
5#
tsuan
參數查詢
[attach]13550[/attach]
作者:
yanto913
時間:
2012-12-28 23:22
[b]回復 [url=http://forum.twbts.com/redirect.php?goto=findpost&pid=48426&ptid=8577]6#[/url] [i]Hsieh[/i] [/b]
第二層用姓名不會有作用,不知道小弟我哪裡設錯了??
作者:
Hsieh
時間:
2012-12-29 15:13
回復
7#
yanto913
此問題回復的重點在說明SQL查詢加入參數的模糊查詢語法
至於你所謂第二層查詢,所指為何?
多準則查詢要看條件成立的準則
若第一條件與第二條件要同時成立,則準則應該放在同一列,
[attach]13728[/attach]
若準則只要其中一項成立,那麼2個準則條件式就不能在同一列
[attach]13727[/attach]
作者:
yanto913
時間:
2012-12-30 00:54
請各位先進幫忙,設定後無法篩選
作者:
GBKEE
時間:
2012-12-30 08:16
回復
9#
yanto913
Option Explicit
Sub 查詢功能()
Dim Ex_Name As String, Ex_公司
'Name 是VBA的關鍵字請避免使用
'關閉顯示
Application.ScreenUpdating = False
With Sheets("查詢")
Ex_Name = .Range("F1") '姓名
Ex_公司 = .Range("B1") '公司
' .UsedRange.Offset(2).Clear '清除舊有的查詢
End With
With Sheets("聯絡人")
G = .[B65536].End(xlUp).Row
For I = 2 To G
'萬用字元收尋
' If .Cells(I, 2) Like "*" & Ex_Name & "*" Then '只查姓名
If .Cells(I, 1) Like "*" & Ex_公司 & "*" And .Cells(I, 2) Like "*" & Ex_Name & "*" Then '查 姓名及公司
'If .Cells(I, 1) Like "*" & Ex_公司 & "*" Or .Cells(I, 2) Like "*" & Ex_Name & "*" Then '可查姓名 Or 公司
.Range(.Cells(I, 1), .Cells(I, 10)).Copy
c = Sheets("查詢").[a65536].End(xlUp).Row
Sheets("查詢").Cells(c + 1, 1).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End If
Next I
End With
Application.ScreenUpdating = True '開啟顯示
End Sub
複製代碼
作者:
yanto913
時間:
2012-12-30 08:31
感謝GBKEE 版主,如果我是要用 8樓 Hsieh 版主的SQL查詢加入參數的模糊查詢語法,結果我設定完成了還是不能達到篩選公司後再篩選姓名的功能
我的上傳檔在9樓
作者:
GBKEE
時間:
2012-12-30 12:49
回復
11#
yanto913
[attach]13734[/attach]
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)