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, 11:25 (Dieser Beitrag wurde zuletzt bearbeitet: 21.03.2020, 11: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, 10: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, 18:17 (Dieser Beitrag wurde zuletzt bearbeitet: 21.03.2020, 18: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