Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Schleife in Makro

Schleife in Makro
05.02.2019 17:18:23
Peter
Hallo ihr Excelspezialisten,
ich habe ein Makro geschrieben, welches einwandfrei funktioniert.
Es soll in alle Zeilen, in welchen in Spalte D = leer und Spalte H >""
Werte eingefügt werden.
Das funktioniert. Aber ich benötige noch eine Schleife, dass dies so oft geschieht, bis alle Zeilen gefüllt sind entsprechend den Bedingungen.
Derzeit funktioniert dies nur, wenn ich das Makro 3 mal ausführe.
Leider weiss ich nicht, wo ich diese Schleife einfügen muss.
~f
Sub test03()
Dim zeileDQuelle As String, zeileHQuelle As String, zeileDZiel As String, zeileHZiel,  _
zeileDZiel2 As String
zD = Worksheets("KontenBericht").Cells(Rows.Count, 4).End(xlUp).Row
zH = Worksheets("KontenBericht").Cells(Rows.Count, 7).End(xlUp).Row
zeileDZiel = Worksheets("KontenBericht").Cells(Rows.Count, 4).End(xlUp).Row + 1 'erforderlich fü _
r Prüfung und einfügen von Copy
zeileHZiel = Worksheets("KontenBericht").Cells(Rows.Count, 8).End(xlUp).Row + 1 'erforderlich fü _
r Prüfung
If Worksheets("KontenBericht").Cells(zeileDZiel, 4) = "" And Worksheets("KontenBericht").Cells( _
zeileDZiel, 4).Offset(0, 4) > "" Then
With Worksheets("KontenBericht")
'    .Range(.Cells(zD, 4), .Cells(zH, 7)).Copy Destination:=Worksheets("KontenBericht"). _
Cells(6, 4) 'Range("A1")
.Range(.Cells(zD, 4), .Cells(zH, 7)).Copy Destination:=Worksheets("KontenBericht"). _
Cells(zeileDZiel, 4) 'Range("A1")
End With
Else
'MsgBox "Fehler" '"D6 leer, H6 nicht leer"
Exit Sub
End If
End Sub

~f
Besten Dank für eure Hilfe.
Gruss
Peter
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Schleife in Makro
05.02.2019 22:54:05
Piet
Hallo Peter
ich habe mir erlaubt den Code durch With Klammer zu verkürzen und habe iene Schleife eingebaut.
Würde mich freuen wenn es so klappt...
mfg Piet
Sub test03()
Dim zeileDQuelle As String, zeileHQuelle As String, j As Integer
Dim zeileDZiel As String, zeileHZiel, zeileDZiel2 As String
For j = 1 To 3
With Worksheets("KontenBericht")
zD = .Cells(Rows.Count, 4).End(xlUp).Row
zH = .Cells(Rows.Count, 7).End(xlUp).Row
zeileDZiel = .Cells(Rows.Count, 4).End(xlUp).Row + 1 'erforderlich fü _
r Prüfung und einfügen von Copy
zeileHZiel = .Cells(Rows.Count, 8).End(xlUp).Row + 1 'erforderlich fü _
r Prüfung
If .Cells(zeileDZiel, 4) = "" And .Cells(zeileDZiel, 4).Offset(0, 4) > "" Then
'    .Range(.Cells(zD, 4), .Cells(zH, 7)).Copy Destination:=. _
Cells(6, 4) 'Range("A1")
.Range(.Cells(zD, 4), .Cells(zH, 7)).Copy .Cells(zeileDZiel, 4)  'Range("A1")
Else
'MsgBox "Fehler" '"D6 leer, H6 nicht leer"
Exit Sub
End If
End With
Next j
End Sub

Anzeige
AW: Schleife in Makro
06.02.2019 07:48:34
Peter
Hallo Piet,
besten Dank für Deine Hilfe. Es funktioniert einwandfrei.
Ein kleine Korrektur habe ich aber noch erledigt:
statt j = 1 To 3 habe ich eingefügt: For j = 1 To Worksheets("KontenBericht").Cells(Rows.Count, 8).End(xlUp).Row
Nochmals besten Dank für Deine Hilfe.
Gruss
Peter
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige