求大神帮看VBA实现在一个表中获取所有工作簿中指定值,代码错在哪,怎么修改
PrivateSubCommandButton1_Click()DimxAsIntegerDimwbAsWorkbookForx=1To71Setwb=Workbooks...
Private Sub CommandButton1_Click()
Dim x As Integer
Dim wb As Workbook
For x = 1 To 71
Set wb = Workbooks.Open("G:/成长记录/测试/123(x).xls")
a = wb.Sheets("sheet4").Range("R14")
b = wb.Sheets("sheet5").Range("R14")
ThisWorkbook.Sheets("sheet1").Range("a(x)") = a
ThisWorkbook.Sheets("sheet1").Range("b(x)") = b
wb.Close False
Next
End Sub
要求获取每个工作簿第四个工作表和第五个工作表的R14单元格值,并复制到当前工作表 展开
Dim x As Integer
Dim wb As Workbook
For x = 1 To 71
Set wb = Workbooks.Open("G:/成长记录/测试/123(x).xls")
a = wb.Sheets("sheet4").Range("R14")
b = wb.Sheets("sheet5").Range("R14")
ThisWorkbook.Sheets("sheet1").Range("a(x)") = a
ThisWorkbook.Sheets("sheet1").Range("b(x)") = b
wb.Close False
Next
End Sub
要求获取每个工作簿第四个工作表和第五个工作表的R14单元格值,并复制到当前工作表 展开
3个回答
展开全部
主要原因是你没有程序设计经验,没明白变量与字符串常量的区别,例如你这个语句:
Set wb = Workbooks.Open("G:/成长记录/测试/123(x).xls")
实际上每次都打开的"G:/成长记录/测试/123(x).xls"文件,而不是"G:/成长记录/测试/123(1).xls"、"G:/成长记录/测试/123(1).xls"这样的文件,要实现这样的功能,需要写为:
Set wb = Workbooks.Open("G:/成长记录/测试/123(“ & x & ”).xls")
所有代码我修改如下:
Private Sub CommandButton1_Click()
Dim x As Integer
Dim wb As Workbook
For x = 1 To 71
Set wb = Workbooks.Open("G:/成长记录/测试/123("& x &").xls")
a = wb.Sheets("sheet4").Range("R14")
b = wb.Sheets("sheet5").Range("R14")
ThisWorkbook.Sheets("sheet1").Range("a"& x) = a
ThisWorkbook.Sheets("sheet1").Range("b"& x) = b
wb.Close False
Next
End Sub
展开全部
ThisWorkbook.Sheets("sheet1").Range("a" & cstr(x)) = a
ThisWorkbook.Sheets("sheet1").Range("b" & cstr(x)) = b
ThisWorkbook.Sheets("sheet1").Range("b" & cstr(x)) = b
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询