2016-03-28 42 views
0

Sıfır değerlerimi nasıl kopyalayıp aynı satıra yapıştırmak için anlamaya çalışıyorum. Ben G4 onlara bir dizi varsa: teşekkür C.VBA aynı satırda yapıştırın

ait
Sub CopyZeroData() 
Dim sh1 As Worksheet, x As Long, y As Long, N As Long, rng As Range 

Set sh1 = Sheets("Ecars") 
    N = sh1.Cells(Rows.Count, "G").End(xlUp).Row 
    y = 1 

    For x = 1 To N 
     Set rng = sh1.Cells(x, "G") 
      If rng.Value = 0# Then 
       rng.Copy sh1.Cells(y, "C") 
       y = y + 1 
      End If 
    Next x 
End Sub 

başından başlayarak nasıl onları dışarı ile doğrudan gitmek alabilirsiniz, C4: G8, onlar C1 yapıştırmak!

+1

değiştirme 'rng.Copy sh1.Cells (y, "C") 'to'rng.Copy sh1.Cells (x, "C")'? – findwindow

+0

teşekkürler findwindow, ben tamamen bunun üzerine baktı! – MrASifuMason

cevap

1

Kodunuzda ofseti de kullanabilirsiniz. Sorunuz, G sütununda dönüyormuş gibi görünüyor, eğer sıfıra eşitse, c sütununu sıfıra eşit olarak istediğiniz gibi.

Sub If_Zero() 
    Dim sh1 As Worksheet, N As Long, rng As Range, c As Range 

    Set sh1 = Sheets("Ecars") 
    With sh1 
     N = .Cells(.Rows.Count, "G").End(xlUp).Row 
     Set rng = .Range("G1:G" & N) 
    End With 
    For Each c In rng.Cells 
     If c = 0 Then c.Offset(0, -4) = c 
    Next c 

End Sub 
İlgili konular