Vb.net 使用选项卡名称变量访问其他工作簿时,下标超出范围

Vb.net 使用选项卡名称变量访问其他工作簿时,下标超出范围,vb.net,excel,vba,Vb.net,Excel,Vba,有人能帮我解决使用变量名访问外部工作簿/工作表时遇到的问题吗 我需要打开一个外部工作簿并选择一个特定的工作表名称 当我对Tabname进行harcode时,它可以工作,但当我使用变量时,我会得到一个下标超出范围的错误 我已经包括了下面的子项,我称之为带有 GetDatafromWB FullPandF, strDataImport, "ImportData" Sub GetDatafromWB(OtherWB As String, TabName As String, strUser As

有人能帮我解决使用变量名访问外部工作簿/工作表时遇到的问题吗

我需要打开一个外部工作簿并选择一个特定的工作表名称 当我对Tabname进行harcode时,它可以工作,但当我使用变量时,我会得到一个下标超出范围的错误

我已经包括了下面的子项,我称之为带有

 GetDatafromWB FullPandF, strDataImport, "ImportData"

 Sub GetDatafromWB(OtherWB As String, TabName As String, strUser As String)

Dim customBook As Workbook
Dim customFilename As String
Dim customWorkbook As Workbook
Dim targetWorkbook As Workbook
Dim targetSheet As Worksheet
Dim sourceSheet As Worksheet

' Tabname in this instance is "Aug 2013"

strImpSheet = TabName
strUserSheet = strUser


' set active workbook as the target
Set targetWorkbook = Application.ActiveWorkbook
Set targetSheet = targetWorkbook.Worksheets(strUserSheet)

' get the custom workbook
customFilename = OtherWB
Set customWorkbook = Application.Workbooks.Open(customFilename)


' ****************************** This needs to be changed to a variable ****************************
' ************************************ Currently Hardcoded *****************************************
Set sourceSheet = customWorkbook.Worksheets("Aug 2013")

' Set sourceSheet = customWorkbook.Worksheets(strImpSheet)    generates a subscript out of range error

targetSheet.Range("A3", "I400").Value = sourceSheet.Range("A3", "I400").Value

' Close customer workbook
customWorkbook.Close

End Sub

Set sourceSheet=customWorkbook.Worksheets(“2013年8月”)
如果这样做有效,并且在使用变量时出现
下标超出范围错误
,那么我猜
选项卡名
有额外的空间。。试试这个
strImpSheet=Trim(TabName)
同时调试并检查
TabName
strDataImport
是否具有正确的工作表名称…非常感谢您的快速响应,我包含了Trim命令,并且使用debug和在变量strImpSheet上添加一个watch也没有什么区别,因为变量strImpSheet设置为2013年8月,应该没有额外的空格。此外,如果我使用索引号,则在即时窗口中也可以键入此
?targetWorkbook.Name
是否获得正确的工作簿名称?我之所以问这个问题,是因为您使用了
ActiveWorkbook
,而这可能不是您实际想要使用的工作簿…?targetWorkbook.Name masterinquirylog.xlsm“”?这是需要复制数据的地方,并且是正确的?targetsheet.Name ImportData-这是要复制到?customworkbook.Name?中的选项卡名SG_查询日志2013.xlsx-这是获取数据的工作表,需要读取的是“2013年8月”选项卡。