点击文件名下载附件
本题代码文件
了?
重新修改了代码, 方法union作用于对像 global 时失败
Sub 合并()
Dim wb As Workbook
Dim rg As Range
Dim rn As Range
Dim i As Integer
Set wb = Workbooks.Open(ThisWorkbook.Path & "\A.xls")
For i = 1 To Sheets.Count
If i = 1 Then
Sheets("1月").Select
Set rg = Range("A1").CurrentRegion
Else: Sheets(i & "月").Select
Set rn = Range("a2").CurrentRegion
rg = Union(rn, rg)
End If
Next
Set wb = Workbooks.Open(ThisWorkbook.Path & "\第12集练习题.xls") 'Set wb = Workbooks.Open(ThisWorkbook.Path & "\第12集练习题.xls")
Sheets("sheet2").Select
Range("a65536").End(xlUp).Offset(1, 0) = rg
那有没有对异表单元格进行集合的指令呢?
Sub 合并()
Dim wb As Workbook
Dim rg As Range
Dim i As Integer
Set wb = Workbooks.Open(ThisWorkbook.Path & "\A.xls")
For i = 1 To Sheets.Count
If i = 1 Then
Sheets("1月").Select
Set rg = Range("A1").CurrentRegion
Set wb = Workbooks.Open(ThisWorkbook.Path & "\第12集练习题.xls")
Sheets("sheet2").Select
Range("a65536").End(xlUp).Offset(1, 0) = rg
Set wb = Workbooks.Open(ThisWorkbook.Path & "\A.xls")
Else: Sheets(i & "月").Select
Set rg = Range("a2").CurrentRegion
Set wb = Workbooks.Open(ThisWorkbook.Path & "\第12集练习题.xls")
Sheets("sheet2").Select
Range("a65536").End(xlUp).Offset(1, 0) = rg
End If
Next
wb.Close False
End Sub
为什么什么结果都没有呢???
Sub 合并()
Dim wb As Workbook
Dim rg As Range
Dim i As Integer
Set wb = Workbooks.Open(ThisWorkbook.Path & "\A.xls")
For i = 1 To wb.Sheets.Count
If i = 1 Then
Set rg = wb.Sheets("1月").Range("A1").CurrentRegion
ThisWorkbook.Sheets("第2题").Range("a1") = rg
Else: Set rg = wb.Sheets(i & "月").Range("a2").CurrentRegion 类型不匹配
ThisWorkbook.Sheets(Sheet2).Range("a65536").End(xlUp).Offset(1, 0) = rg
End If
Next
wb.Close true
End Sub
设置WB是为了省事,没有其他的意义
这段代码运行成功了一次 之后就不行了 提示类型不匹配的错误
之前么写表名 我以为VBA会自己选择打开的表里面的数据的{:021:}