问题描述
我试图将名为Hey的工作表中的全部列值复制并粘贴到名为final的工作表中的其他列中。
我不想使用复制,粘贴或选择选项。但是,我的代码仅复制第一行。
IntLastRow = Sheets("Hey").Cells(Cells.Rows.Count,"A").End(xlUp).Row
' IntRLastRow = Sheets("Interdiction Review").Cells(Cells.Rows.Count,"A").End(xlUp).Row
If Sheets("Hey").Range("H2") = "" Then
Sheets("Final").Range("A2").Value = Sheets("Hey").Range("G2:G" & IntLastRow).Value
ElseIf Sheets("Hey").Range("H2") <> "" Then
Sheets("Final").Range("A2").Value = Sheets("Hey").Range("H2:H" & IntLastRow).Value
EndIf
也许您知道我在做什么错吗?
我需要将日期从2列或更多列复制到其他工作表中的另一列。
但是,我不确定是否可以在同一行中使用最后2行。 我正在尝试这段代码,但只粘贴了1行的值。
intrlastrow = Sheets("Final").Cells(Cells.Rows.Count,"A").End(xlUp).Row + 1
Debug.Print intrlastrow
If Sheets("Hey").Range("AJ2") = "" Then
Sheets("Final").Range("A" & intrlastrow,"A" & IntLastRow).Value = Sheets("Hey").Range("AI2:AI" & IntLastRow).Value
ElseIf Sheets("Hey").Range("AJ2") <> "" Then
Sheets("Final").Range("A" & intrlastrow,"A" & IntLastRow).Value = Sheets("Hey").Range("AJ2:AJ" & IntLastRow).Value
End If
我需要将名为HEY的工作表中的2列或更多列的值添加到目标工作表(最终工作表)的同一列中
解决方法
除非您尝试插入值的范围与您从中获取值的范围一样大,否则仅复制适合的数据。将代码更改为类似
Option Explicit
Sub test()
Dim IntLastRow As Long
IntLastRow = Sheets("Hey").Cells(Cells.Rows.Count,"A").End(xlUp).Row
' IntRLastRow = Sheets("Interdiction Review").Cells(Cells.Rows.Count,"A").End(xlUp).Row
If Sheets("Hey").Range("H2") = "" Then
Sheets("Final").Range("A2:A" & IntLastRow).Value = Sheets("Hey").Range("G2:G" & IntLastRow).Value
ElseIf Sheets("Hey").Range("H2") <> "" Then
Sheets("Final").Range("A2:A" & IntLastRow).Value = Sheets("Hey").Range("H2:H" & IntLastRow).Value
End If
End Sub
应该可以解决问题。
您可能会注意到,我已将Sheets("Final").Range("A2")
更改为Sheets("Final").Range("A2:A" & IntLastRow)
,这与您决定要从中复制值的范围所做的操作类似。