2015-05-11 40 views
0

我想在ThisWorksheet的Workbook_Open函數中初始化一些變量(如圖的範圍)。這是這樣做的:公共變量和Workbook_Open函數

Public ChartSizePosition As Range 
Sub Workbook_Open() 
    Set ChartSizePosition = Range("B8:I25") 
    Worksheets("Übersicht").Range("A1").Value = "q3f" 
End Sub 

之後,我想訪問模塊中某個Sub的變量。但總會出現錯誤「運行時錯誤424.對象必要」。 Workbook_Open代碼是絕對可達的。

任何人都可以給我一個建議?

此致敬意!

+3

您必須引用'ThisWorkbook.ChartSizePosition'而不是'ChartSizePosition',或者將聲明移動到普通模塊。 – Rory

+2

另外'範圍(「B8:I25」)'?你不希望從錯誤的工作表中選擇範圍?將其改爲類似於'Set ChartSizePosition = Sheets(「Sheet1」)。Range(「B8:I25」)' –

+0

@Rory:這是一個有效的答案。您可能希望將其作爲答案,以便OP能夠接受它。評論是暫時的:) –

回答

0

如果將公共變​​量添加到類模塊(ThisWorkbook是),則必須將該變量作爲該類的成員引用。所以你必須參考ThisWorkbook.ChartSizePosition而不僅僅是ChartSizePosition

或者,您可以將聲明移動到正常模塊。