Excel 从一张图纸到另一张图纸的复制/粘贴范围
我试图将工作表A列中包含数据的单元格复制到第2行的另一个工作表中。使用以下脚本,将源工作表名称输入Ave RLD工作表的第1行。如果这就是我所要做的,它会在所有的工作表中循环,并将它们的名字放在下一列Ave RLD中。当我尝试从col A复制数据并将其粘贴到Ave RLD时,我得到一个运行时错误1004。我留下了我一直在尝试的所有评论行。我错过了什么Excel 从一张图纸到另一张图纸的复制/粘贴范围,excel,vba,Excel,Vba,我试图将工作表A列中包含数据的单元格复制到第2行的另一个工作表中。使用以下脚本,将源工作表名称输入Ave RLD工作表的第1行。如果这就是我所要做的,它会在所有的工作表中循环,并将它们的名字放在下一列Ave RLD中。当我尝试从col A复制数据并将其粘贴到Ave RLD时,我得到一个运行时错误1004。我留下了我一直在尝试的所有评论行。我错过了什么 Dim WS_count As Long Dim I As Long Dim ws As Worksheet Dim ColNum As Long
Dim WS_count As Long
Dim I As Long
Dim ws As Worksheet
Dim ColNum As Long
Dim wksName As String
Dim NumRows As Long
ColNum = 1
Sheets.Add Type:=xlWorksheet
ActiveSheet.Name = "Ave RLD"
For Each ws In ActiveWorkbook.Worksheets
If Left(Trim(ws.Name), 3) = "RLD" Then
wksName = ws.Name
NumRows = ws.Range("A" & Rows.Count).End(xlUp).Row
MsgBox NumRows
With Worksheets("Ave RLD")
.Cells(1, ColNum).Value = wksName
ws.Range(Cells(1, 1), Cells(NumRows, 1)).Copy
.Range(Cells(2, ColNum)).Paste.Values
'.Range(Cells(2, ColNum)).Value = .Range(("A1"), Range("A1").End(xlUp))
'.Range(Cells(2, ColNum)).Value = ws.Range("A" & Rows.Count).End(xlUp).Row
'MsgBox ws.Cells(1, 26).Value
'.Cells(2, ColNum).Value = .Worksheets(wksName).Cells(1, 26)
'.Worksheets(wksName).Cells(1, 1).Copy
'Worksheets(wksName).Range(.Cells(1, 1), .Cells(.Rows.Count, 1).End(xlUp)).Copy
'.Cells(2, ColNum).Paste
ColNum = ColNum + 1
End With
End If
Next ws
这是你想要的吗 此站点上的批次,但如果
ws
不是活动工作表,则此行将出错,因为您没有完全限定所有范围
ws.Range(单元格(1,1),单元格(NumRows,1)).Copy
下面注释的另一行只需要范围
或单元格
,而且您的粘贴值语法已关闭-录制宏是整理此类详细信息的一种方法
Dim WS_count As Long
Dim I As Long
Dim ws As Worksheet
Dim ColNum As Long
Dim wksName As String
Dim NumRows As Long
ColNum = 1
Sheets.Add Type:=xlWorksheet
ActiveSheet.Name = "Ave RLD"
For Each ws In ActiveWorkbook.Worksheets
If Left(Trim(ws.Name), 3) = "RLD" Then
wksName = ws.Name
NumRows = ws.Range("A" & Rows.Count).End(xlUp).Row
MsgBox NumRows
With Worksheets("Ave RLD")
.Cells(1, ColNum).Value = wksName
ws.Range(ws.Cells(1, 1), ws.Cells(NumRows, 1)).Copy 'fully qualify with ws
.Cells(2, ColNum).PasteSpecial xlpasteValues 'just Cells
ColNum = ColNum + 1
End With
End If
Next ws
这是你想要的吗 此站点上的批次,但如果
ws
不是活动工作表,则此行将出错,因为您没有完全限定所有范围
ws.Range(单元格(1,1),单元格(NumRows,1)).Copy
下面注释的另一行只需要范围
或单元格
,而且您的粘贴值语法已关闭-录制宏是整理此类详细信息的一种方法
Dim WS_count As Long
Dim I As Long
Dim ws As Worksheet
Dim ColNum As Long
Dim wksName As String
Dim NumRows As Long
ColNum = 1
Sheets.Add Type:=xlWorksheet
ActiveSheet.Name = "Ave RLD"
For Each ws In ActiveWorkbook.Worksheets
If Left(Trim(ws.Name), 3) = "RLD" Then
wksName = ws.Name
NumRows = ws.Range("A" & Rows.Count).End(xlUp).Row
MsgBox NumRows
With Worksheets("Ave RLD")
.Cells(1, ColNum).Value = wksName
ws.Range(ws.Cells(1, 1), ws.Cells(NumRows, 1)).Copy 'fully qualify with ws
.Cells(2, ColNum).PasteSpecial xlpasteValues 'just Cells
ColNum = ColNum + 1
End With
End If
Next ws
应该录制一个宏@BigBen应该录一个宏@比本。