habe da eine Sache gefunden, für die ich keinen Reim habe: der Wert 4924,46 erscheint in deiner Ausgangsliste zwei Mal. (Am 28. und am 30.01.) Auf der Ergebnisseite ist der Wert vom 28.01. verschwunden. Dafür gibt es für mich keine Logik. Erklärst du mir das bitte.
Viele Grüße Klaus-Dieter Der Erfolg hat viele Väter, der Misserfolg ist ein Waisenkind Richard Cobden
21.03.2020, 12:25 (Dieser Beitrag wurde zuletzt bearbeitet: 21.03.2020, 12:33 von FranzS.)
Das war einfach ein Übertragungsfehler Ich glaube ich habe mich falsch ausgedrückt. Ich will die Spalten nicht verbinden, sondern die Spalten sollen genauso bleiben wie bisher. Nur wenn in der jeweiligen Zeile zu den Spalten Saldo1 unterschiedliche Zahlen stehen, soll die Zeile für die Spalten E+F+G leer bleiben und eins nach unten rutschen...
(21.03.2020, 11:49)Klaus-Dieter schrieb: Hallo,
ich habe jetzt zwar verstanden, was du meinst. Könnte da möglicherweise eine Makro-Lösung anbieten, frage mich aber, welchen Sinn das hat.
Makro wäre super
Problem: Meine Spalten haben mehrere tausend Zeilen und in der 2. Spaltenhälfte von denen ich die Daten aus den Spalten F+G brauche fehlen immer wieder mal Zeilen.
Gemeinsamkeit der Spalten A+B+C und E+F+G ist die Spalte Saldo1 --> Spalte C und E !!!!
damit sollte es funktionieren, ansonsten meldest du dich noch mal.
Code:
Option Explicit
Sub Zellen_verschieben() Dim lngZeile As Long For lngZeile = 2 To Range("A" & Rows.Count).End(xlUp).Row If Cells(lngZeile, 5) <> Cells(lngZeile, 3) And Cells(lngZeile + 1, 3) = Cells(lngZeile, 5) Then Range(Cells(lngZeile, 4), Cells(lngZeile, 7)).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove End If Next lngZeile End Sub
Viele Grüße Klaus-Dieter Der Erfolg hat viele Väter, der Misserfolg ist ein Waisenkind Richard Cobden
Folgende(r) 1 Nutzer sagt Danke an Klaus-Dieter für diesen Beitrag:1 Nutzer sagt Danke an Klaus-Dieter für diesen Beitrag 28 • FranzS
21.03.2020, 19:17 (Dieser Beitrag wurde zuletzt bearbeitet: 21.03.2020, 19:17 von Klaus-Dieter.)
Hallo Franz,
habe noch einen besseren Lösungsansatz gefunden. Dazu eine Frage: nach Spalte G ist das Blatt leer? Habe die "alten" Daten dorthin zur Sicherheit verschoben. Die können dann in der finalen Version gelöscht werden. Hier das neue Makro:
Code:
Option Explicit
Sub array_test() ' geschrieben am 21.03.2020 mit SVerweis auf ein Array zugreifen Dim varDatArr As Variant Dim lngZeile As Long On Error Resume Next varDatArr = Range("E2:G" & Range("A" & Rows.Count).End(xlUp).Row).Value Range("E2:H24").Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove For lngZeile = 2 To Range("A" & Rows.Count).End(xlUp).Row Cells(lngZeile, 5) = Application.WorksheetFunction.VLookup(Cells(lngZeile, 3), varDatArr, 1, False) Cells(lngZeile, 6) = Application.WorksheetFunction.VLookup(Cells(lngZeile, 3), varDatArr, 2, False) Cells(lngZeile, 7) = Application.WorksheetFunction.VLookup(Cells(lngZeile, 3), varDatArr, 3, False) Next lngZeile End Sub
Viele Grüße Klaus-Dieter Der Erfolg hat viele Väter, der Misserfolg ist ein Waisenkind Richard Cobden