कुछ इस तरह शायद (मान लें कि सभी कनेक्शन अपने परिणामों को वर्कशीट टेबल में रखते हैं, न कि पिवोटेबल में):
Sub TimeQueries()
Dim oSh As Worksheet
Dim oCn As WorkbookConnection
Dim dTime As Double
For Each oCn In ThisWorkbook.Connections
dTime = Timer
oCn.Ranges(1).ListObject.QueryTable.Refresh False
Debug.Print Timer - dTime, oCn.Name, oCn.Ranges(1).Address(external:=True)
Next
End Sub
इसे चलाने के लिए:
- Alt +F11 वीबीए संपादक के पास जाने के लिए।
- मेनू से:मॉड्यूल डालें।
- विंडो में कोड पेस्ट करें।
- वीबीए संपादक बंद करें।
- Alt +F8 मैक्रो की सूची लाता है। नया चुनें और रन पर क्लिक करें।
- Alt +F11 फिर से वीबीए संपादक के लिए।
- सीटीआर एल+जी परिणामों के साथ तत्काल फलक खोलता है।
यदि आप चाहते हैं कि कोड किसी सेल में लिखे, तो इस संस्करण का उपयोग करें:
Sub TimeQueries()
Dim oSh As Worksheet
Dim oCn As WorkbookConnection
Dim dTime As Double
Dim lRow As Long
Set oSh = Worksheets("Sheet4") 'Change to your sheet name!
oSh.Cells(1,1).Value = "Name of Connection"
oSh.Cells(1,2).Value = "Location"
oSh.Cells(1,1).Value = "Refresh time (s)"
For Each oCn In ThisWorkbook.Connections
lRow = lRow + 1
dTime = Timer
oCn.Ranges(1).ListObject.QueryTable.Refresh False
oSh.Cells(lRow,3).Value = Timer - dTime
oSh.Cells(lRow,1).Value = oCn.Name
oSh.Cells(lRow,2).Value = oCn.Ranges(1).Address(external:=True)
Next
End Sub