我的電子表格上的宏已經作業多年,通過按鈕停止作業,盡管它們在 VBA 開發人員視窗中仍然可以正常作業。我使用正常形狀(矩形)作為按鈕并為其分配宏(從“ThisWorkbook”中選擇)。
為了阻止我在其他類似帖子中看到的建議修復...
- 它仍然是一個 .xlsm 檔案
- 宏仍然啟用。
- 它和以前一樣在同一臺筆記本電腦上運行(Windows 10、Office 365)。
- 最近沒有發生 Windows 更新。
- 我只打開了這一個檔案。
- 我嘗試重新啟動筆記本電腦并重新啟動 Excel。
- 我沒有使用 Active-X 控制元件。
- 我用一個表單控制按鈕和一個普通的形狀按鈕嘗試了它——兩者都不起作用。
- 它與實際的 VBA 代碼無關(請參閱下面的證明)。
我創建了一個新程式來顯示問題不是代碼本身:
Sub button_not_working()
MsgBox "button_not_working"
End Sub
該程式使用 VBA 螢屏中的綠色播放按鈕作業,但不通過作業表上指定的按鈕作業。任何想法將不勝感激!
uj5u.com熱心網友回復:
通常,由于多個螢屏或解析度差異問題,可能會出現此問題。如果您使用的是連接到螢屏的筆記本電腦,請在筆記本電腦與顯示幕斷開連接時嘗試使用筆記本電腦上的按鈕。如果這解決了問題,請確保您在兩個設定之間具有相同的解析度和/或縮放比例。
如果此更改最近才發生并且在沒有額外顯示幕的臺式機或筆記本電腦螢屏上進行,請確保您的縮放比例設定為 100%,以防它最近更改。
uj5u.com熱心網友回復:
嘗試一下:確保您的“呼叫者”形狀具有唯一的名稱
注意:可能有多個形狀具有相同的名稱并且(無論出于何種原因)可能會混淆 excel 的形狀到宏的連接。
uj5u.com熱心網友回復:
您不能從ThisWorkbook按鈕事件中呼叫代碼。
我喜歡將按鈕事件放在按鈕所在作業表后面的代碼中。這樣代碼就會隨作業表移動到任何復制作業表的地方。
使用表單按鈕。右鍵單擊表單按鈕并選擇Assign Macro...。然后從彈出的串列中選擇 VBA 子程式。只有在此彈出視窗中可見的程式才能作業。
注意:切勿_在 VBA 中的任何名稱中使用。它保留用于事件處理。
Public Sub ButtonIsWorking()
MsgBox "button is working"
End Sub
作業表中的代碼:

分配宏:

按鈕按下:

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/353933.html
上一篇:基于概率的分布
下一篇:XLOOKUP匹配電子郵件
