Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

VBA Script Zeilen verschieben
#1
Hallo zusammen,

habe ein wichtiges Problem. 

Gibt eine Möglichkeit ein VBA Script zu schreiben um den Abgleich von 2 Zeilen durchzuführen und Zellen einzufügen wo es keine Übereinstimmung gibt ? 

Als Beispiel habe Ich eine Tabelle angehängt.


.xlsx   Vorlage Forum .xlsx (Größe: 12,63 KB / Downloads: 4)

Tabelle 1: Die Zellen aus Spalte 1 muss = Die Zellen aus Spalte 2 sein. in Spalte 3 gibt es den Abgleich, ob ein Wert fehlt oder nicht.
Hier sehen wir, dass bei 5A "prüfen" steht. Hier "fehlt" eine Zahl. Heißt, wir müssen eine Zelle einfügen und die Zellen nach unten verschieben. 

Das sieht man in Tabelle 2. 
Anschließend, wieder die auswertung ausführen.
Nun ist in 9A ein Fehler.

Hier das gleiche, siehe Tabelle 3. 

Manchmal muss auch mehrere Zellen einfügen dass A wieder gleich B ist. (Tabelle 4)

Gibt es hierfür eine Möglichkeit ein Script zu schreiben ? 

Kenne mich leider nicht gut genug aus. 

Vielen Dank für die Unterstützung

Mit freundlichen Grüßen
Antworten Top
#2
Hallo
So wie ich Deine Tabellen 1 und 4 verstanden habe, bleibt Spalte A unverändert. Es muss nur Spalte B angepasst werden.
Das könnte dieses Makro erledigen.
 
Grüsse Niclaus

Code:
Sub Test()
zlast = Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To zlast
    If Cells(i, 3).Value = "Prüfen" Then
        Cells(i, 2).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
        Range("C2").Select
        Selection.AutoFill Destination:=Range(Cells(2, 3), Cells(zlast, 3))
    End If
Next
End Sub
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste