как установить значения между листами после оператора IF, используя 2 последних строки
Я пытаюсь скопировать и вставить все значения столбцов из листа с именем 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
может ты знаешь, что я делаю не так?
Мне нужно скопировать даты из двух или более столбцов в другой столбец, расположенный на другом листе.
Однако я не уверен, смогу ли я использовать две последние строки в одной строке. Я пробую этот код, но вставляю только значение одной строки.
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
Мне нужно добавить значения 2 или более столбцов из листа с именем HEY в тот же столбец на целевом листе (последний лист)
1 ответ
Если диапазон, из которого вы пытаетесь вставить значения, не равен тому, из которого вы их берете, будут скопированы только подходящие данные. Измените свой код на что-то вроде
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)
, аналогично тому, что вы сделали, чтобы решить, из какого диапазона копировать значения.