根据单元格中的数字复制VBA中的粘贴

时间:2017-04-30 14:22:02

标签: vba excel-vba cell multiple-columns copy-paste

是否可以使用VBA代码检查来自sheet1的列B,E,H,K,N中的数字是否大于0,然后复制并粘贴该单元格,前一个单元格和后面一个单元格中的一个单元格,B和C?

以下是我一直在使用的代码,但它占据了整行,而这并不是我想要的,因为它提供了许多不必要的内容: / p>

Sub Epicerie()

For Each Cell In Sheets("Liste").Range("B:B, E:E, H:H, K:K, N:N")

    If Cell.Value > 0 Then
        matchRow = Cell.Row
        Rows(matchRow & ":" & matchRow).Select
        Selection.Copy

        Sheets("Listepret").Select
        ActiveSheet.Rows(matchRow).Select
        ActiveSheet.Paste
        Sheets("Liste").Select
    End If
Next

End Sub

1 个答案:

答案 0 :(得分:0)

我认为您正在使用以下代码:

Option Explicit

Sub Epicerie()

Dim Cell As Range

For Each Cell In Sheets("Liste").Range("B:B, E:E, H:H, K:K, N:N")
    If Cell.Value > 0 Then
        With Sheets("Listepret")
            ' copy paste in 1 line to the next empty row at Column "A"
            Cell.Offset(, -1).Resize(1, 3).Copy Destination:=.Range("A" & .Cells(.Rows.Count, "A").End(xlUp).Row + 1)
        End With
    End If
Next

End Sub