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