excel中VBA,导入别的表的数据,下标越界问题

来源:百度知道 编辑:UC知道 时间:2024/06/20 08:06:05
找到一个能从别的表中导入数据的VBA,可是提示下标越界

Sub test()
Dim wkbk As Workbook '定义一个工作薄
Dim myFileName As String '定义要读取的文件路径
Dim rgA1 As String'定义要读取的单元格A1
Dim rgB10 As String'定义要读取的单元格B10
myFileName = Application.GetOpenFilename("EXCEL文件(*.xls), *.xls") '浏览文件,如XX公司08年XX表.xls
If myFileName = "False" Then '如果按取消那么弹出对话框
MsgBox "请选择文件!", vbInformation, "取消"
Else
Set wkbk = Workbooks.Open(myFileName) '先打开要复制的文件

'这里要复制打开的XX公司08年XX表.xls表1中的A1、表2的B10,到本表A2、A3如何写?
wkbk.Activate‘激活打开工作簿
Sheets("Sheet1").Activate ‘这里提示下标越界
rgA1 = Cells(1, 1) '取得A1
Sheets("Sheet2").Activate ‘这里提示下标越界
rgB10 = Cells(10, 2)'取得B10

wkbk.Close False '关闭工作薄

Cells(2, 1) = rgA1’给目标格赋值A2
Cells(3,

那个不是下标越界,是没有找到实际的sheet改成:
Sheets(1).Activate
Sheets(2).Activate

也可以把“sheet1”“sheet2”换成你实际的sheet名

XX公司08年XX表.xls的各工作表的名称是什么?
Sheets("Sheet1").Activate中的Sheet1是工作表名称,改成实际使用的名称。
Sheets("Sheet2").Activate的也同样。