2016-05-30 9 views
0

Ich habe den folgenden Code, der einige Spalten aus dem Arbeitsblatt "data" kopiert und in die nächste leere Spalte in der Spalte, die ich im "KomKo ".if else Anweisung zum Kopieren und Einfügen eines Zellenwerts

Jetzt möchte ich eine if-Bedingung für eine andere Spalte hinzufügen; was sagen sollte, "wenn Spalte U in Worksheet" -Daten "Zellenwert" 8636 "hat, dann sollten diese Werte in Spalte H in Arbeitsblatt" KomKo "(Pastenblatt) eingefügt werden; in die nächste Zeile, wie ich den Code oben in der" mit "Teil.

Else (Wenn der Wert in der Spalte H nicht 8636 ist), dann sollte den Wert innerhalb dieser Spalte zu Spalte G in Arbeitsblatt einfügen‚KomKo‘(pastesheet) mit gleichen Bevorzugungen wieder wie oben.

Wie kann ich das tun?

Antwort

0

Also habe ich in einer Schleife if-then unter Verwendung eines mit einem Vorschlag kommen. ich denke, es ist in der Nähe, was Sie wollen ...

Sub try6() 

Dim ws As Worksheet 
Dim ws2 As Worksheet 

Dim x As Range 

Set ws = Worksheets("data") 
Set ws2 = Worksheets("KomKo") 

For Each x In ws.Range("C1:C100") 
    If x.Value = 8636 Then 
    ws2.Range("H:H").Value = ws.Cells(Rows.Count, "A").Value 
     ElseIf x <> 8636 Then 
     ws2.Range("G:G").Value = ws.Range(Rows.Count, "B").Value 
     End If 
    Next x 

End Sub 

Testen Sie es, es dauerte eine Weile, um auszuführen. Ich würde sagen, setze einen dynamischen Bereich auf etwas wie A10000 und kopiere es direkt, ohne notwendigerweise testen zu müssen, ob es einen Wert in dem kopierten Bereich gibt.

Sie können auch die Select-Methode für den Zweck verwenden und die Auswahl kopieren - aus eigener Erfahrung hatte ich gemischte Erfolge damit und ich habe Menschen davon abgeraten, sie hier zu verwenden.

Das sind meine .02, hoffe es hilft! Prost.