Live-Forum - Die aktuellen Beiträge
Datum
Titel
25.10.2025 08:21:40
24.10.2025 18:10:41
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Schleife beenden

Forumthread: Schleife beenden

Schleife beenden
03.12.2021 13:17:51
Bernd
Hallo Excel-Gemeinde,
ich hab mir vor längerem dieses Makro zusammenkopiert was an sich gut funktioniert.
Im Grunde soll es aus einer Liste Werte in ein anderes Blatt kopieren, wenn in einer bestimmten Zelle ein Wert steht.
Da in der Liste mit 98 Zeilen nur meist 10 Werte stehen, die kopiert werden müssen, hätte ich die Schleife gerne eher beendet. Aktuell werden die 10 Werte kopiert und dann rödelt das Makro noch Ewigkeiten. Ich habe es schon versucht dass ich am Ende der Liste in einer Zelle die Anzahl der gefüllten Zellen abfrage und dann diese mit dem Makro einlese und an Stelle der 98 setze, aber irgenwie funktioniert das nicht. Könnte Ihr mir bitte weiterhelfen?
Viele Grüße Bernd

Sub Kopieren()
Dim c As Range
Dim i As Long
Dim wks1 As Worksheet
Dim wks2 As Worksheet
Set wks1 = Worksheets("Liste")
Set wks2 = Worksheets("Wichtig")
Dim V(1 To 98) As String
Dim R(1 To 98) As String
Dim T(1 To 98) As String
Dim TG(1 To 98) As String
i = 1
For Each c In wks1.Range("C296:C393")
If c  "" Then
R(i) = c.Offset(0, -1)     ' Spalte B
T(i) = c.Offset(0, 2)      ' Spalte E
TG(i) = c.Offset(0, 4)     ' Spalte G
V(i) = c                   ' Spalte C
i = i + 1
End If
Next c
For i = 1 To 98
wks2.Cells(i + 3, 1) = R(i)
wks2.Cells(i + 3, 2) = V(i)
wks2.Cells(i + 3, 3) = T(i)
wks2.Cells(i + 3, 4) = TG(i)
Next i
End Sub
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Schleife beenden
03.12.2021 13:40:44
Nepumuk
Hallo Bernd,
mit:

Exit For
kannst du die Schleife verlassen.
Gruß
Nepumuk
AW: Schleife beenden
03.12.2021 14:19:34
peterk
Hallo
Zweite Schleife

Application.screenupdating = False
wks2.Range("A4:D101").ClearContents
For j = 1 To (i-1)
wks2.Cells(j + 3, 1) = R(j)
wks2.Cells(j + 3, 2) = V(j)
wks2.Cells(j + 3, 3) = T(j)
wks2.Cells(j + 3, 4) = TG(j)
Next j
Application.screenupdating = True
Peter
Anzeige
AW: Schleife beenden
03.12.2021 15:17:54
Bernd
Hallo Peter,
hat funktioniert.
Vielen Dank und schönen zweiten Advent.

Hallo
Zweite Schleife
Application.screenupdating = False
wks2.Range("A4:D101").ClearContents
For j = 1 To (i-1)
wks2.Cells(j + 3, 1) = R(j)
wks2.Cells(j + 3, 2) = V(j)
wks2.Cells(j + 3, 3) = T(j)
wks2.Cells(j + 3, 4) = TG(j)
Next j
Application.screenupdating = True
Peter

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