Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 如何使用最后两行在IF语句后设置工作表之间的值_Excel_Vba_Vba7_Vba6 - Fatal编程技术网

Excel 如何使用最后两行在IF语句后设置工作表之间的值

Excel 如何使用最后两行在IF语句后设置工作表之间的值,excel,vba,vba7,vba6,Excel,Vba,Vba7,Vba6,我试图将整个列的值从名为Hey的工作表复制并粘贴到名为final的工作表中的另一列 我不想使用复制、粘贴或选择选项。但是,我的代码仅复制第1行 IntLastRow = Sheets("Hey").Cells(Cells.Rows.Count, "A").End(xlUp).Row ' IntRLastRow = Sheets("Interdiction Review").Cells(Cells.Rows.Count, "A&

我试图将整个列的值从名为Hey的工作表复制并粘贴到名为final的工作表中的另一列

我不想使用复制、粘贴或选择选项。但是,我的代码仅复制第1行

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
IntLastRow=Sheets(“Hey”).Cells(Cells.Rows.Count,“A”).End(xlUp).Row
'IntRLastRow=表格(“禁令审查”)。单元格(Cells.Rows.Count,“A”)。结束(xlUp)。行
如果图纸(“嘿”)范围(“H2”)=”那么
图纸(“最终”).范围(“A2”).值=图纸(“Hey”).范围(“G2:G”和IntLastRow).值
其他表格(“嘿”)。范围(“H2”)“那么
板材(“最终”).范围(“A2”).值=板材(“Hey”).范围(“H2:H”和IntLastRow).值
恩迪夫
也许你知道我做错了什么

我需要将日期从两列或更多列复制到位于不同工作表中的另一列

但是,我不确定是否可以在同一行中使用最后两行。 我正在尝试此代码,但仅粘贴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
intrlastrow=Sheets(“Final”)。单元格(Cells.Rows.Count,“A”)。结束(xlUp)。行+1
调试。打印intrlastrow
如果板材(“嘿”).Range(“AJ2”)=“那么
图纸(“最终”).Range(“A”和intrlastrow,“A”和IntLastRow).Value=图纸(“Hey”).Range(“AI2:AI”和IntLastRow).Value
其他床单(“嘿”)。范围(“AJ2”)“那么
图纸(“最终”).Range(“A”和intrlastrow,“A”和IntLastRow).Value=图纸(“Hey”).Range(“AJ2:AJ”和IntLastRow).Value
如果结束

我需要将名为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
选项显式
子测试()
在最后一行中变暗为长
IntLastRow=Sheets(“Hey”).Cells(Cells.Rows.Count,“A”).End(xlUp).Row
'IntRLastRow=表格(“禁令审查”)。单元格(Cells.Rows.Count,“A”)。结束(xlUp)。行
如果图纸(“嘿”)范围(“H2”)=”那么
图纸(“最终”)。范围(“A2:A”和IntLastRow)。值=图纸(“Hey”)。范围(“G2:G”和IntLastRow)。值
其他表格(“嘿”)。范围(“H2”)“那么
图纸(“最终”)。范围(“A2:A”和IntLastRow)。值=图纸(“Hey”)。范围(“H2:H”和IntLastRow)。值
如果结束
端接头
我们应该做到这一点


您可能会注意到,我已将
工作表(“最终”).Range(“A2”)
更改为
工作表(“最终”).Range(“A2:A”&IntLastRow)
,类似于您决定从哪个范围复制值时所做的操作。

我觉得太傻了,基本上我应该在目标工作表上使用相同的IntLastRow。非常感谢。它正在工作。