ich habe gestern von GerdL ein Makro erhalten, welches die Abarbeitungszeit (gegenüber dem ursprünglichen Makro) von über 1,5 Stunden auf ca. 2 Sekunden reduziert,- FANTASTISCH!
Das Zuordnen von Daten möchte ich demnächst weiter anwenden, mit array, variablen etc. - aufbauend von weiter unten aufgeführten Makro. Dazu muss ich natürlich das Konstrukt begreifen. Und so kurz als auch anscheinend klar aufgeführten Makro, habe ich Schwierigkeiten, dieses zu verstehen, verändern oder gar selber zu schreiben.
Das Makro:
Sub GerdL()
Dim U As Long, T As Long, varListe As Variant, varUnikate As Variant
LZ_UnikateClear2 = ThisWorkbook.Sheets("Tagesliste").Cells(Rows.Count, 1).End(xlUp).Row
Sheets("Tagesliste").Range("Y8:Z" & LZ_UnikateClear2).ClearContents
With ThisWorkbook
With .Sheets("Tagesliste")
varListe = .Range("A8:Z" & .Range("A" & .Rows.Count).End(xlUp).Row).Value
End With
With .Sheets("Unikate")
varUnikate = .Range("A5:V" & .Range("A" & .Rows.Count).End(xlUp).Row).Value
End With
For T = 1 To UBound(varListe)
For U = 1 To UBound(varUnikate)
If varUnikate(U, 1) "" Then
If varListe(T, 1) = varUnikate(U, 1) Then
varListe(T, 25) = varUnikate(U, 21)
varListe(T, 26) = varUnikate(U, 22)
End If
End If
Next U
Next T
With .Sheets("Tagesliste")
.Range("A8:Z" & .Range("A" & .Rows.Count).End(xlUp).Row) = varListe
End With
End With
End Sub
u.a. werden in diesem Makro entsprechende Daten aus Sheet Unikate, Spalten 21 und 22 in Sheet Tagesliste, Spalten 25 und 26 eingetragen.Selbst wenn ich dies ändern möchte, zB das Eintragen in die Spalten 27 und 28,- klappt es nicht.
varListe(T, 25) = varUnikate(U, 21)
varListe(T, 26) = varUnikate(U, 22)
in
varListe(T, 27) = varUnikate(U, 21)
varListe(T, 28) = varUnikate(U, 22)
ändern = falschoder auch
With .Sheets("Tagesliste")
varListe = .Range("A8:Z" & .Range("A" & .Rows.Count).End(xlUp).Row).Value
End With
in
With .Sheets("Tagesliste")
varListe = .Range("A8:AB" & .Range("A" & .Rows.Count).End(xlUp).Row).Value
End With
ändern = falschKann mir bitte jemand das oben aufgeführte kurze Makro erklären?!!
Gruss
Fred