標題:
關於工作頁右鍵重新整理
[打印本頁]
作者:
EGBT
時間:
2016-4-28 10:56
標題:
關於工作頁右鍵重新整理
如標題:關於工作頁右鍵重新整理
想在這裡請教各位大大
假如我有3個工作表,在工作表上按右鍵重新整理,要如何知道已經更新完畢?或更新失敗?
完成之後換下個工作表呢?
麻煩各位大大指教~感恩!
作者:
GBKEE
時間:
2016-4-29 07:06
回復
1#
EGBT
試試看
ThisWorkbook模組的程式碼
Option Explicit
Public MSG As String
'在Workbook任一工作表上按右鍵 "的預設事件
Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
Cancel = True '不顯示工作表上按下右鍵所顯示功能表
EX
End Sub
Private Sub EX() ' 更新外部查詢的程式
Dim Sh As Worksheet, q As QueryTable
Dim Sh_Table As New Class1 ' Class1 物件類別模組的名稱
MSG = ""
For Each Sh In Sheets(Array("Sheet1", "Sheet2", "Sheet3")) '假如我有3個工作表
'For Each Sh In Sheets '所有工作表
If Sh.QueryTables.Count > 0 Then
For Each q In Sh.QueryTables
Set Sh_Table.XQueryTable = q '查詢表 設為 物件類別的物件
q.Refresh False
Next
End If
Next
If MSG <> "" Then
MsgBox MSG
Else
MsgBox Me.Name & " 沒有外部查詢"
End If
End Sub
複製代碼
物件類別模組[Class1]的程式碼
Option Explicit
Public WithEvents XQueryTable As QueryTable
Private Sub XQueryTable_AfterRefresh(ByVal Success As Boolean)
ThisWorkbook.MSG = ThisWorkbook.MSG & IIf(ThisWorkbook.MSG <> "", vbLf, "") & XQueryTable.Parent.Name & "-" & XQueryTable.Name & "更新 " & IIf(Success, "成功", "失敗")
End Sub
複製代碼
作者:
EGBT
時間:
2016-5-6 12:03
回復
2#
GBKEE
感謝大大的分享...話說大大...您為什麼都會完整地回復...
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)