Copier uniquement les cellules> 0

Je suis novice Macro – j'ai juste compris comment append l'onglet développeur, désolé si ma question est stupide. J'ai une list d'éléments dans la colonne A et la quantité dans la colonne B. Je veux copyr les colonnes A et B vers les colonnes D et E, mais seulement si la valeur dans la colonne B> 0 – et je veux qu'elles emstacknt, aucun espace vide pour la quantité = 0. J'ai trouvé un code en ligne:

Sub copyAboveZero() Dim sourceRng As Range Dim cell As Range Dim i As Long Set sourceRng = ActiveSheet.Range("B6:B24") i = 6 For Each cell In sourceRng If cell.Value > 0 Then cell.Resize(1, 2).Copy Destination:=Range("D" & i) i = i + 1 End If Next cell End Sub 

Le problème est que dans cet exemple, la quantité était dans la première cellule. Celui-ci copy les colonnes B et C, et je veux qu'il copy A et B. Que dois-je changer? De plus, pouvez-vous coller des valeurs spéciales uniquement? Je ne veux pas que le formatting soit accompagné.

Que diriez-vous:

 Sub KopyKat() Dim N As Long, i As Long Dim j As Long N = Cells(Rows.Count, "A").End(xlUp).Row j = 1 For i = 1 To N If Cells(i, "B").Value > 0 Then Range(Cells(i, "A"), Cells(i, "B")).Copy Cells(j, "D") j = j + 1 End If Next i End Sub 

EDIT # 1 :

Cela répond à vos commentaires:

 Sub KopyKat() Dim N As Long, i As Long Dim J As Long N = Cells(Rows.Count, "A").End(xlUp).Row J = 6 For i = 6 To N If Cells(i, "B").Value > 0 And Cells(i, "B") <> "" Then Range(Cells(i, "A"), Cells(i, "B")).Copy Cells(J, "D").PasteSpecial (xlValues) J = J + 1 End If Next i End Sub