返回列表 上一主題 發帖

[發問] 請問在ThisWorkbook設定變數出現空白這種情況如何處理

本帖最後由 c_c_lai 於 2014-7-2 16:07 編輯

回復 1# barrykuo
在你的範例中,在 ThisWorkbook 內輸入了:
  1. Sub worksheet_open()
  2.     one = 99
  3. End Sub
複製代碼
此 worksheet_open() 係為你自建的使用者函式。
在執行模組內之函式前,你必須先行執行 worksheet_open() 一次。
同時在模組內之函式前的最上端,宣告為
  1. Public one
複製代碼
或是
  1. Public one As Integer
複製代碼
明確宣告為公用整數型態。如此便能帶出正確的  one 值。
  1. 在 ThisWorkbook :
  2. Sub worksheet_open()
  3.     one = 99
  4. End Sub

  5. 在模組內:
  6. Public one As Integer

  7. Sub My()
  8.     MsgBox one   '  顯示 one 為 99
  9. End Sub
複製代碼
如此說明不知你是否明瞭了?

TOP

回復 1# barrykuo
假設你在範例中原本是想於開啟 Excel 時,系統自動地
會將 one 變數值帶入 99 的數值。那此時你必須將原本
輸入的 worksheet_open() 函示,改換成:
  1. Private Sub Workbook_Open()
  2.     one = 99
  3. End Sub
複製代碼
它是 Excel 本身的內在函式,於開啟 Excel 時便會自動執行。
至於模組的公用變數宣告則維持不動。
  1. Public one As Integer

  2. Sub My()
  3.     MsgBox one   '  顯示 one 為 99
  4. End Sub
複製代碼

TOP

        靜思自在 : 好事要提得起,是非要放得下,成就別人即是成就自己。
返回列表 上一主題