Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1672to1676
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
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

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

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige