如何在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

也许您知道我在做什么错吗?

我需要将日期从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),这与您决定要从中复制值的范围所做的操作类似。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...