如何在 IF 语句后使用最后两行设置工作表之间的值
how to set values between worksheets after IF statement using 2 last rows
我正在尝试将 sheet 中名为 Hey 的整个列值复制并粘贴到名为 final 的 sheet 中的另一列。
我不想使用复制、粘贴或 select option.However,我的代码只复制第一行。
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 列或更多列复制到位于不同作品中的另一列sheet。
但是,我不确定是否可以在同一行中使用最后一行的 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
我需要将来自 sheet 名为 HEY 的 2 个或更多列的值添加到目标 sheet 中的同一列(最终 sheet)
除非您尝试从中插入值的范围与您从中获取值的范围一样大,否则只会复制适合的数据。将您的代码更改为
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)
,类似于您决定从哪个范围复制值所做的操作。
我正在尝试将 sheet 中名为 Hey 的整个列值复制并粘贴到名为 final 的 sheet 中的另一列。
我不想使用复制、粘贴或 select option.However,我的代码只复制第一行。
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 列或更多列复制到位于不同作品中的另一列sheet。
但是,我不确定是否可以在同一行中使用最后一行的 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
我需要将来自 sheet 名为 HEY 的 2 个或更多列的值添加到目标 sheet 中的同一列(最终 sheet)
除非您尝试从中插入值的范围与您从中获取值的范围一样大,否则只会复制适合的数据。将您的代码更改为
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)
,类似于您决定从哪个范围复制值所做的操作。