簡體   English   中英

使用多個工作簿時Excel VBA運行時錯誤

[英]Excel VBA run time error when working with multiple workbooks

我有以下代碼

Sub ImportSolarData()

Dim Year As Integer
Dim DataBookName As Variant

Dim SourceSheet As Worksheet
Dim SourceBook As Workbook
Dim SourceSheetName As String

Dim TargetBook As Workbook
Dim TargetSheet As Worksheet
Dim TargetSheetName As String

DataBookName = Application.GetOpenFilename

If DataBookName = False Then
    MsgBox ("You pressed cancel")
    GoTo LeaveNow
End If

MsgBox (DataBookName)

Year = InputBox("Enter the Year you wish to Import")
SourceSheetName = Str(Year)

Workbooks.Open Filename:=DataBookName
MsgBox ActiveWorkbook.Name, , "Active Workbook Name"
MsgBox SourceSheetName, , "Source Sheet Name"

Sheets(SourceSheetName).Select

LeaveNow:

End Sub

代碼掉到最后一行-錯誤

運行時錯誤'-2147352565(8002000b)':指定的維度對於當前圖表類型無效。

但是我在框架中沒有任何圖表-任何地方。 我沒有一個,也沒有嘗試創建一個,並且活動的工作簿根本沒有任何圖表。

任何人請提出任何想法-這毀了我的周末! (在OSX Sierra上運行Excel 365)

用下面的代碼替換您的最后幾行代碼。 由於某些原因,輸入框會將前導空格放在4位數的年份之前。 本質上,它是在搜索名稱為“ 2015”的工作表,而實際上該工作表的名稱為“ 2015”時-沒有前導空格。 trim()函數可以糾正該問題。 其次,您沒有設置工作簿,也沒有在最終的select命令中引用它。

除此之外,它看起來像是良好的編碼。

Set SourceBook = Workbooks.Open(DataBookName, True, True)
MsgBox ActiveWorkbook.Name, , "Active Workbook Name"
MsgBox SourceSheetName, , "Source Sheet Name"

SourceBook.Worksheets(Trim(SourceSheetName)).Select

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM