2013-08-29 133 views
2

我正在處理繼承的電子表格(創建日期1998或更早),並且需要更改對話框工作表上的引用。我看不到運行宏列表中的宏,或類似的東西,工作表本身並沒有出現在VBA項目瀏覽器窗口中,這聽起來像它可能是一個來自我在這裏讀過的其他問題的Excel 4.0宏。許多人建議從頭開始重寫Excel 4.0宏,但問題是我實際上並不知道宏的功能。VBA隱藏宏

具體而言,該宏鏈接到一個命令按鈕,當我點擊'分配宏'時,宏的名稱被寫入'宏名稱'文本框中,但它並沒有實際列在下拉菜單中,下拉菜單。如果我試圖通過在「宏名稱」文本框中輸入相同的名稱來將此宏分配給另一個命令按鈕,則會出現宏不可用的錯誤。
(截圖鏈接:http://imgur.com/HlxvLV2

我試着用這裏的解決方案(Cannot see excel sheet in VBE),因爲我感興趣的板材實際上不是工作,我宣佈WS作爲一個對話框工作表。

Public Sub TestAccessToXL4MacroSheet() 

Dim ws As DialogSheet 
Set ws = ThisWorkbook.ActiveSheet ' succeeds 
Debug.Print ws.Name    ' outputs "Macro1" 
Set ws = Worksheets("Macro1")  ' fails: "Subscript out of range" 

End Sub 

結果是表格的名稱出現在直接窗口中。 (截圖鏈接:http://imgur.com/C1L2SQP

這是預期結果?我已經可以將工作表名稱看作一個選項卡,我想在VBA編輯器中查看工作表本身。

我正在做這件事,所以隨時在孩子的水平寫任何建議!謝謝!

+0

請添加屏幕截圖(因爲您沒有代表這樣做,只需上傳到Imgur.com並添加鏈接到您的問題)。據我所知,你不能從VBE隱藏一個Worksheet對象。另外,如果你做了一些代碼來嘗試和調試(「*聲明ws爲對話框*」 - 這是什麼意思?),請包括你的代碼。 –

回答

2

不知道你是否仍在尋找解決方案,但我是新來的,只是看到了這個!

XL4工作表(例如您的macro1工作表)在VB IDE中不可見。

要在Excel中查看工作表,請右鍵單擊其中一個可見工作表選項卡,然後從菜單中選擇命令「取消隱藏...」。您可以選擇macro1表格並單擊「確定」。

另外,試試這個代碼...

Sub ShowAllSheets() 
    Dim sh As Worksheet 
    For Each sh In ActiveWorkbook.Sheets 
    sh.Visible = True 
    Next 
    End Sub 

你需要那麼XL4代碼手動轉換爲VBA。

相信這會有所幫助。