[英]Subscript out of range with sheet reference from cell value
我通過以下代碼塊收到此消息。 我知道我沒有正確定義我的范圍,但我有點迷茫。 謝謝!
Sub clean_data()
Dim Preliminary_MTM As Worksheet
Dim Sheetlink As String
Sheetlink = Worksheets("Input for model").Range("E17").Value
Set Preliminary_MTM = Sheets(Sheetlink)
Preliminary_MTM.Activate
根據您的評論,單元格“ E17”的內容正好是Worksheets("Preliminary MTM Q1")
那么您將必須有一個名為“ Worksheets(” Preliminary MTM Q1“)”的工作表(即您將在Excel文件中的“工作表”標簽),我想您還沒有一個使用該名稱的工作表標簽。 實際上,您不能使用該名稱的工作表,因為它太長了:
在E17中您想要的只是簡單的Preliminary MTM Q1
因此在此代碼中引用它時:
Set Preliminary_MTM = Worksheets(Worksheets("Input for model").Range("E17").Value2)
它訪問該單元格的內容並查找在那里命名的工作表。
注意:我已將.Value
更改為.Value2
。 .Value2
在單元格中為您提供完全未格式化的文本,而.Value
將返回格式信息-這可能會導致問題。
注意:我已經將代碼縮減為一行,因為這是必需的。 如果您實際上在其他地方使用了變量sheetlink
,則需要將其包括在內。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.