標題:
請大大們協助了解篩選問題,
[打印本頁]
作者:
hong912
時間:
2013-11-3 14:10
標題:
請大大們協助了解篩選問題,
大大們, 小弟對vba知識有限, 近日小弟幾經辛苦才完成了一個滿以為可行的篩選程式, 但當用時原來是行不通,
故求教各大大能完成該程式, 附檔, 謝謝!!
小弟的程式碼在工作表程式區, 煩請各大大協助,
[attach]16563[/attach]
作者:
c_c_lai
時間:
2013-11-3 16:21
大大們, 小弟對vba知識有限, 近日小弟幾經辛苦才完成了一個滿以為可行的篩選程式, 但當用時原來是行不通,
...
hong912 發表於 2013-11-3 14:10
有關你附件檔案中之 abc() ,請你稍稍說明一下 你實際到底想要做甚麼?
想法如何? 程式碼中後有 end if 前面卻無 if, 還有 len(XXX) ?
還有過濾的條件 <> 甚麼?
作者:
hong912
時間:
2013-11-3 19:45
回復
2#
c_c_lai
謝謝大大回應, abc不過是程式名稱, 並沒有實質作用, 或者這樣說, 小弟需求一篩選程式, 當小弟按下按鈕, 彈出一框架, 只要輸入一字, 工作表2便把工作表1內c欄位名稱, 所有有相關字名稱的資料列顯示於工作表2 內,
至於小弟所謂程式, 本就是不值一提,
謝謝謝!
作者:
c_c_lai
時間:
2013-11-3 21:46
回復
3#
hong912
請將程式複製於 ThisWorkbook 內:
Option Explicit
Sub Ex()
Dim 準則1 As String, rngFilter As String
準則1 = InputBox("輸入一字 (準則)")
If 準則1 = "" Then Exit Sub
With Sheets("Sheet1")
Sheets("Sheet2").Cells.Clear
rngFilter = "*" & 準則1 & "*"
.[AA1] = "姓名"
.[AA2] = rngFilter
.Range("A3").CurrentRegion.AdvancedFilter xlFilterCopy, .[AA1:AA2], _
CopyToRange:=Sheets("Sheet2").Range("A3"), Unique:=True
End With
End Sub
複製代碼
作者:
hong912
時間:
2013-11-3 22:15
回復
4#
c_c_lai
感謝回應, 會細心學習, 祝快樂, 謝!!
作者:
joey0415
時間:
2013-11-7 10:52
本帖最後由 joey0415 於 2013-11-7 10:55 編輯
改路徑
D:\篩選.xls
與SQL語法就能找到你想要的
select * from [Sheet1$] where 姓名='何仁德'
Sub Macro1()
'
' Macro1 Macro
' joey 在 2013/11/7 錄製的巨集
'
'
With ActiveSheet.QueryTables.Add(Connection:=Array( _
"OLEDB;Provider=Microsoft.Jet.OLEDB.4.0;Password="""";User ID=Admin;Data Source=D:\篩選.xls;Mode=Share Deny Write;Extended Properties=""HDR=" _
, _
"YES;"";Jet OLEDB:System database="""";Jet OLEDB:Registry Path="""";Jet OLEDB:Database Password="""";Jet OLEDB:Engine Type=35;Jet OLEDB:" _
, _
"Database Locking Mode=0;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password" _
, _
"="""";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLE" _
, "DB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False"), Destination _
:=Range("A1"))
.CommandType = xlCmdTable
.CommandText = Array("select * from [Sheet1$] where 姓名='何仁德'")
.Name = "篩選"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.SourceDataFile = "D:\篩選.xls"
.Refresh BackgroundQuery:=False
End With
End Sub
複製代碼
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)