Anzeige
Archiv - Navigation
1856to1860
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

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

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
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

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige