找到第二个空单元格/行并开始粘贴它

时间:2014-09-18 02:27:19

标签: excel vba

我已经做了很多研究,但找不到解决方案。我正在尝试在列中找到第二个空单元格/行(或其他指定单元格)并开始粘贴它(始终跳转到下一个空单元格/行)。

我找到了下面的代码,但它从列中的第一个空行开始粘贴。将offset命令更改为(2,0)也不起作用,因为它找到第二个空行但开始粘贴时始终在拼贴之间留下一个空单元格。我想在开始时找到第二个空单元格,并从那里开始始终粘贴在下一个第一个空单元格/行中。你能帮帮我吗?非常感谢提前!

例如,我正在复制范围G4:I4并尝试粘贴到G列中。

代码:

Sub InsertButton() 
    Range("G4:I4").Copy Range("G" & Rows.Count).End(xlUp).Offset(1, 0) 
End Sub

1 个答案:

答案 0 :(得分:0)

好吧,你正在尝试编写一个执行两个不同功能的函数。如果你可以包含调用函数的循环,那将会很有帮助。您可以使用这样的两个函数执行每个操作,或者将一个参数传递给函数,该函数可以告诉它要做什么。

Sub InsertButton1()
    Range("G4:I4").Copy Range("G" & Rows.Count).End(xlUp).Offset(1, 0) 
End Sub
Sub InsertButton2()
    Range("G4:I4").Copy Range("G" & Rows.Count).End(xlUp).Offset(2, 0) 
End Sub

Sub InsertButton(moveDownThisManyRows)
    Range("G4:I4").Copy Range("G" & Rows.Count).End(xlUp).Offset(moveDownThisManyRows, 0) 
End Sub

然后当你打电话时说

Sub doStuff()
    Dim thisIsTheFirstTime As Boolean
    thisIsTheFirstTime = True
    For Each item In myStuff
        If thisIsTheFirstTime Then
            InsertButton2() 'or InsertButton(2)
            thisIsTheFirstTime = False
        Else
            InsertButton1() 'or InsertButton(1)
        End If
    Next item
End Sub