我有以下代码
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)
答案 0 :(得分:0)
用以下代码替换最后几行代码。由于某种原因,您的输入框会在4位数之前放置一个前导空格。本质上,它正在寻找名为" 2015"当工作表的名称实际上是" 2015" - 没有领先的空间。 trim()函数可以纠正这个问题。其次,您没有设置工作簿或在最终选择命令中引用它。
除此之外,它看起来很好。
Set SourceBook = Workbooks.Open(DataBookName, True, True)
MsgBox ActiveWorkbook.Name, , "Active Workbook Name"
MsgBox SourceSheetName, , "Source Sheet Name"
SourceBook.Worksheets(Trim(SourceSheetName)).Select