[英]Excel VBA enable/disable functions on pictures
我下面有 10 張圖片,我在其中為每張圖片分配了一個宏(打開另一個不可見的特定工作表)。
第一個問題:當我打開工作簿時,我只想激活第一張圖片和接下來的 9 張圖片,例如無法激活(單擊)。 所以用戶可以只點擊第一個,其他人不活躍。
第二個問題:但是當我/用戶點擊第一張圖片時,它會打開另一個特定的工作表(已經解決了
Sheets("Example1").Visible = True
Sheets("Example1").Select
) 然后它還會激活第二張圖片上的可能性以打開它。
圖片就像其他工作表的“打開按鈕”一樣,不幸的是,它必須是圖片。
非常感謝您的幫助。
使用全局變量或隱藏工作表上的單元格來存儲標志值。
例如,打開工作簿時,將標志值設置為 1。單擊第一張圖片時,將標志設置為 2。
單擊第二張圖片時,首先要有檢查標志值的代碼。 如果是 1,則退出 sub,所以什么也不會發生。 如果標志 >= 2,運行圖 2 的代碼並將標志設置為 3。依此類推。
我有一個稍微不同的建議。
Sub ExecuteImgClick
粘貼此代碼
Public imgName As String
Sub ExecuteImgClick()
Dim img As String
On Error Resume Next
img = Application.Caller
On Error GoTo 0
If img = imgName And img = "Pic01" Then
'~~> Do something
imgName = "Pic02" '?????? Activate next pic
ElseIf img = imgName And img = "Pic02" Then
'~~> Do something
imgName = "Pic03" '??????
ElseIf img = imgName And img = "Pic03" Then
'~~> Do something
imgName = "Pic04" '??????
ElseIf img = imgName And img = "Pic04" Then
'~~> Do something
imgName = "Pic05" '??????
'
' And so on
'
End If
End Sub
Assign Macro
給所有圖片並將其附加到上述過程active
的圖像的名稱。例如
Private Sub Workbook_Open()
imgName = "Pic01"
End Sub
這樣,無論您設置imgName
什么,該圖像單擊都會do something
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.