簡體   English   中英

Excel VBA 啟用/禁用圖片功能

[英]Excel VBA enable/disable functions on pictures

我下面有 10 張圖片,我在其中為每張圖片分配了一個宏(打開另一個不可見的特定工作表)。

第一個問題:當我打開工作簿時,我只想激活第一張圖片和接下來的 9 張圖片,例如無法激活(單擊)。 所以用戶可以只點擊第一個,其他人不活躍。

第二個問題:但是當我/用戶點擊第一張圖片時,它會打開另一個特定的工作表(已經解決了

Sheets("Example1").Visible = True
Sheets("Example1").Select

) 然后它還會激活第二張圖片上的可能性以打開它。

圖片就像其他工作表的“打開按鈕”一樣,不幸的是,它必須是圖片。

非常感謝您的幫助。

使用全局變量或隱藏工作表上的單元格來存儲標志值。

例如,打開工作簿時,將標志值設置為 1。單擊第一張圖片時,將標志設置為 2。

單擊第二張圖片時,首先要有檢查標志值的代碼。 如果是 1,則退出 sub,所以什么也不會發生。 如果標志 >= 2,運行圖 2 的代碼並將標志設置為 3。依此類推。

我有一個稍微不同的建議。

  1. 將您的圖片命名為“Pic01、Pic02、Pic03...等”
  2. Next 在模塊中創建一個過程。 將其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
  1. 通過左鍵單擊圖像Assign Macro給所有圖片並將其附加到上述過程
  2. 接下來傳遞您想要active的圖像的名稱。

例如

Private Sub Workbook_Open()
    imgName = "Pic01"
End Sub

這樣,無論您設置imgName什么,該圖像單擊都會do something

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM