我在VBA中是一个全新的人,请原谅愚蠢的问题;)
背景
尽管我需要从仅以“ 2018和2017”开始的工作表中复制数据,然后将其粘贴到“摘要”选项卡,但是我正在使用具有多个选项卡的工作表。
详细信息
这些工作表的顶部是我不需要复制的标题和其他计算。(请参阅所附快照中的行1至10)
从这些工作表中,我想复制从第13行开始的范围,但是此行号可以将工作表更改为工作表,因此我创建了两个变量-
首先选择Cell(L1)并向下XL
第二个选择Range(“ L1048576”)。End(xlUp).Address
从那里,我选择End xlToLeft以选择整个范围并复制它-
问题
我无法使用变量运行此代码来选择范围,如果我使用单元格引用示例(“ A13:L26”)选择数据范围,则可以正常工作,但在使用变量选择范围时出错。
还有一种方法可以排除标题吗?
下面是我的代码
socket.on
答案 0 :(得分:0)
您需要找到每张纸上的范围-您需要在循环内 进行该操作:
Sub NEWWORK()
Dim sheet As Worksheet
Dim rng As Range
Sheets("Summary").Activate
For Each sheet In Worksheets
If (Left(sheet.Name, 4) = "2018") Or (Left(sheet.Name, 4) = "2017") Then
With sheet
Set rng = .Range(.Range("L1").End(xlDown).Offset(1, 0), _
.Cells(Rows.Count, "L").End(xlUp))
End With
With Worksheets("Summary")
.Cells(Rows.Count, 1).End(xlUp).Resize(rng.Rows.Count, 1).Value = rng.Value
End With
End If
Next sheet
End Sub