Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1888to1892
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zeile copy&paste bei bestimmten Text

Zeile copy&paste bei bestimmten Text
24.06.2022 14:41:27
Beckstar
Hallo Zusammen,
ich habe bisher oft nach Lösungen in dem Forum gesucht und bin normalerweise fündig geworden. Jetzt beschäftige ich mich aber eine Weile mit einem Coding für ein Makro im Excel und bin nicht in der Lage, es richtig zu schreiben.
Ich habe eine Auswertung im Excel, die ich für eine Meldung an die Bundesbank aufbereiten muss. Mein Problem ist, dass bei der Buchung von "Zinsaufwand (Verbindlichkeit)" die Buchung ins Gegenteil verkehrt ein zweites Mal als "Zinskapitalisierung (Verbindlichkeit)" eingetragen werden muss. Das soll mit einem Makro erfolgen, damit die Fehlerquote gering gehalten wird.
Ich habe schon eine Zeile A3:Q3 mit den passenden Formeln eingefügt und möchte gern, dass mit Hilfe eines Makros die Zellen A3:Q3 unter die Zeile mit dem Suchbegriff "Zinsaufwand (Verbindlichkeit)" eingefügt wird.
Um mich langsam heranzutasten habe ich einen Code erstellt, der mir Leerzeilen unter den Suchbegriff einfügt.

Sub Leerzeile_einfügen()
'Test leerzeile einfügen, funktioniert
Columns("H:H").Select
Dim lngRow As Long
With Selection
For lngRow = .Rows.Count To 1 Step -1
If InStr(.Cells(lngRow, 1).Value, "Zinsaufwand (Verbindlichkeit)") Then
.Rows(lngRow + 1).EntireRow.Insert
End If
Next lngRow
End With
End Sub
Und dann einen zweiten, der die Leerzeilen mit meinen Zellen A3:Q3 füllt. Hier habe ich das Problem, dass entweder nur eine Zeile gefüllt wird oder alle Leerzeilen bis zum Schluss. Ich hatte mir mit dem Text "Ende" in der Zeile unter der Auswertung weitergeholfen, aber das funktioniert auch nicht sonderlich gut.

Sub Test_Ende()
' Neuer Test, funktioniert mit zwei Zeilen nach "Ende"
Dim lZeile As Long
lZeile = 7
With Sheets("Z4>12.500")
Do While (ActiveCell.Value  "Ende")
If .Cells(lZeile, 1) = "" Then
Sheets("Z4>12.500").Range("A3:P3").Copy '.Cells(lZeile, 1)
Worksheets("Z4>12.500").Range("A" & lZeile).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
End If
lZeile = lZeile + 1
Loop
Sheets("Z4>12.500").Range("A3:P3").Copy '.Cells(lZeile + 1, 2)
Worksheets("Z4>12.500").Range("A" & lZeile).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
End With
ActiveWorkbook.Save
End Sub
Die Datei sieht wie folgt aus:
https://www.herber.de/bbs/user/153749.xlsx
Der Code müsste nicht in zwei Makros unterteilt werden. Das hatte ich nur für mich zum besseren Durchblick gemacht.
Ich wäre euch sehr dankbar, wenn mir jemand weiterhelfen kann.
Liebe Grüße
Becky

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeile copy&paste bei bestimmten Text
26.06.2022 08:02:48
Oberschlumpf
Hi Becky,
hier, probier mal
https://www.herber.de/bbs/user/153766.xlsm
Der Vba-Code steht nicht mehr in einer eigenen Sub, sondern direkt im Worksheet_Change-Ereignis von Tabellenblatt "Z4>12.500".
Und, wie gewünscht :-) , deine 2 Makro-Versuche wurden zu 1 Makro vereint.
Also...
Das Makro wird immer nur dann gestartet, wenn du in Spalte H den Wert - einer - Zelle änderst.
(wurden vor Wertänderung mehrere Zellen markiert, wird das Makro abgebrochen)
Das Makro kannst du auslösen, wenn du entweder einen anderen Eintrag aus der Datengültigkeitsliste auswählst, oder wenn du in der Wunschzelle etwas eintippst, oder F2 drückst, um enthaltenen Text anzupassen und dann mit Entertaste abschließt.
Der VBA-Code enthält viele Kommentare, um dir das Verstehen des Codes zu vereinfachen.
Konnte ich helfen?
Ciao
Thorsten
Anzeige
AW: Zeile copy&paste bei bestimmten Text
27.06.2022 07:30:31
Beckstar
Hallo Thorsten,
vielen Dank für deine Antwort und Hilfe. Dein Code ist ja großartig und funktioniert perfekt.
Auf den Ansatz wäre ich im Leben nicht gekommen. Da fehlen mir einfach die Kenntnisse.
Auch nochmal vielen Dank für die Kommentare an dem Code, damit ich es verstehen kann.
Liebe Grüße
Becky

251 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige