मुझे अधिकांश दिन लगे लेकिन मैंने इसका पता लगा लिया है। यह रहा कोड:
Sub Excel_QueryTable()
Sheet2.Cells.ClearContents
Dim oCn As ADODB.Connection
Dim oRS As ADODB.Recordset
Dim ConnString As String
Dim SQL As String
Dim qt As QueryTable
ConnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\t.xlsm;Extended Properties=Excel 8.0;Persist Security Info=False"
Set oCn = New ADODB.Connection
oCn.ConnectionString = ConnString
oCn.Open
SQL = "Select * from [Sheet1$] WHERE type='man'"
Set oRS = New ADODB.Recordset
oRS.Source = SQL
oRS.ActiveConnection = oCn
oRS.Open
Set qt = Worksheets(2).QueryTables.Add(Connection:=oRS, _
Destination:=Range("A1"))
qt.Refresh
If oRS.State <> adStateClosed Then
oRS.Close
End If
If Not oRS Is Nothing Then Set oRS = Nothing
If Not oCn Is Nothing Then Set oCn = Nothing
End Sub
इसे अपनी कार्यपुस्तिका पर काम करने के लिए, आपको Data Source
. को बदलना होगा आपके द्वारा उपयोग की जा रही फ़ाइल के नाम का पथ।
[Sheet1$]
क्वेरी में उस शीट का नाम है जिससे आप चयन कर रहे हैं ($
. में छोड़ दें )।
Worksheets(2)
उस शीट की संख्या है जहां आप डायनेमिक टेबल बना रहे हैं।
इसके अतिरिक्त, आपको Microsoft Active X Data Objects
. में से किसी एक को सक्षम करने की आवश्यकता होगी Tools>References
. पर जाकर पुस्तकालय एक्सेल में वीबीए संपादक में।