Excel 将多张图纸中的同一行复制到一张指定图纸中

Excel 将多张图纸中的同一行复制到一张指定图纸中,excel,vba,Excel,Vba,我是VBA新手,在编写宏将工作簿中所有工作表中的指定行复制到单个指定工作表时遇到问题。我试过看其他有同样问题的人的例子,但我似乎无法让我的代码正常工作。以下是我所拥有的: Sub copyrow() Dim Nrow As Long Dim Nsheet As Long Dim ms As Worksheet Dim i As Long Set ms = Sheets("All Copper Data") Nrow = 3 Nsheet = Worksheets.Coun

我是VBA新手,在编写宏将工作簿中所有工作表中的指定行复制到单个指定工作表时遇到问题。我试过看其他有同样问题的人的例子,但我似乎无法让我的代码正常工作。以下是我所拥有的:

Sub copyrow()
Dim Nrow As Long
Dim Nsheet As Long
Dim ms As Worksheet
Dim i As Long

Set ms = Sheets("All Copper Data")

Nrow = 3
Nsheet = Worksheets.Count


For i = 1 To Nsheet
   Sheets(i).Cells(Nrow, 1).EntireRow.Copy Destination:=Sheets("ms").Cells(i, 1)
Next i
End Sub


我有一堆工作表(目前,我想从14张工作表中收集数据,但会有更多工作表,这就是为什么我将n工作表作为worksheets.count)。我想从所有表中提取第3行,并将它们合并到一个名为“all Copper Data”的表中


我得到了下标超出范围的错误。如何解决此问题?

ms是一个工作表对象,因此您可以这样复制到它

For i = 1 To Nsheet
   Sheets(i).Cells(Nrow, 1).EntireRow.Copy Destination:=ms.Cells(i, 1)
Next i
从多个工作表复制一行 s-源(从中读取)
d-目的地(写入)

选项显式
副复制人
Const dName As String=“所有铜数据”
常数d第一个长度=1
当长度=3时,常数sRow
将wb设置为工作簿:设置wb=ThisWorkbook包含此代码的工作簿
将dws标注为工作表:设置dws=wb。工作表(dName)
变暗dRow的长度:dRow=D第一个
Application.ScreenUpdating=False
将sws设置为工作表
对于wb.工作表中的每个sws
如果StrComp(sws.Name、dName、vbtextcomper)为0,则
sws.Rows(sRow).Copy Destination:=dws.Rows(dRow)
卓尔=卓尔+1
如果结束
下一个sws
Application.ScreenUpdating=True
端接头

这很有效!!!!谢谢你澄清这一点!