Excel VBA在多个工作表中循环
这里是VBA初学者,我正在编写的程序有点问题 我需要从第一张工作表中复制B列最后一个单元格中的数据,并将其粘贴到另一张工作表xws中的A列中,然后对其他五张包含数据的工作表重复此操作 以下是代码,它的工作方式不符合要求:Excel VBA在多个工作表中循环,vba,excel,Vba,Excel,这里是VBA初学者,我正在编写的程序有点问题 我需要从第一张工作表中复制B列最后一个单元格中的数据,并将其粘贴到另一张工作表xws中的A列中,然后对其他五张包含数据的工作表重复此操作 以下是代码,它的工作方式不符合要求: Sub exercise() Dim ws As Worksheet Dim rng As Range 'Finding last row in column B Set rng = Range("B" & Rows.Count).En
Sub exercise()
Dim ws As Worksheet
Dim rng As Range
'Finding last row in column B
Set rng = Range("B" & Rows.Count).End(xlUp)
For Each ws In ActiveWorkbook.Worksheets
'Don't copy data from xws worksheet
If ws.Name <> "xws" Then
'Storing first copied data in A1
If IsEmpty(Sheets("xws").[A1]) Then
rng.Copy Sheets("xws").Range("A" & Rows.Count).End(xlUp)
'Storing next copied data below previously filled cell
Else
rng.Copy Sheets("xws").Range("A" & Rows.Count).End(xlUp).Offset(1, 0)
End If
End If
Next ws
End Sub
子练习()
将ws设置为工作表
变暗rng As范围
'正在查找B列中的最后一行
设置rng=Range(“B”和Rows.Count)。结束(xlUp)
对于ActiveWorkbook.Worksheets中的每个ws
'不从xws工作表复制数据
如果ws.Name为“xws”,那么
'在A1中存储第一个复制的数据
如果为空(图纸(“xws”)[A1]),则
rng.复制工作表(“xws”).范围(“A”和行数)。结束(xlUp)
'将下一次复制的数据存储在先前填充的单元格下方
其他的
rng.Copy Sheets(“xws”)。范围(“A”和行数)。结束(xlUp)。偏移量(1,0)
如果结束
如果结束
下一个ws
端接头
ws存在一个问题。引用,但每当我在if语句中将它放在rng之前或放在range(set rng=…)之前时,我都会得到错误
提前感谢您提供的所有指针。您应该为循环中的每个
ws
声明rng
,如:
Sub exercise()
Dim ws As Worksheet
Dim rng As Range
For Each ws In ActiveWorkbook.Worksheets
'Finding last row in column B
Set rng = ws.Range("B" & ws.Rows.Count).End(xlUp) '<~~ Moved inside the loop
'Don't copy data from xws worksheet
If ws.Name <> "xws" Then
'Storing first copied data in A1
If IsEmpty(Sheets("xws").[A1]) Then
rng.Copy Sheets("xws").Range("A" & Rows.Count).End(xlUp)
'Storing next copied data below previously filled cell
Else
rng.Copy Sheets("xws").Range("A" & Rows.Count).End(xlUp).Offset(1, 0)
End If
End If
Next ws
End Sub
子练习()
将ws设置为工作表
变暗rng As范围
对于ActiveWorkbook.Worksheets中的每个ws
'正在查找B列中的最后一行
设置rng=ws.Range(“B”&ws.Rows.Count).End(xlUp)”当我从活动工作表启动宏时,我只从活动工作表将相同的信息复制到工作集xws中的六个单元格(A1:A6)中。