Guten Tag meine lieben Programmierer,
ich beschäftige mich seit einiger Zeit nun mit VBA, habe mir meine Kenntnisse aber selbst beigebracht, also habe ich hier noch erhebliche lücken (Bitte deshalb um Feedback; schonmal danke :)).
Ich habe ein Problem und zwar, habe ich eine Tabelle mit sehr vielen Positionen. (3364 Zeilen und bis zur Spalte DV).
Die vorhandenen Daten sind nun veraltet und müssen aktualisiert werden.
Dies habe ich für ca 500 der 3364 Positionen bereeits "von Hand" erledigt, jedoch sind die restlichen Positionen lediglich Kopien der bereits bearbeiteten.
Ich habe nun natürlich keine Lust mehr Copy Strg+F und Paste für > 2500 Positionen zu durchzuführen, deshalb habe ich eine kleine Prozedur geschrieben.
Jede Position ist durch eine eindeutig zu Identifizierende Nummer gekennzeichnet (Hier in Spalte D).
Sub Makro1()
Dim Z
Range("D4").Select 'die ersten 3 Zeilen sind Überschriften)
Z = ActiveCell.Value
For I = 1 To 524
Cells(I + 1, 1).EntireRow.Copy
Range("D527").Select
For J = 1 To 20
ActiveCell.Offset(1, 0).Select
If ActiveCell.Value = Z Then ActiveSheet.Paste
Next J
Cells(I + 2, 1).Select
Z = ActiveCell.Value
Next I
End Sub
Die Prozedur stürzt nach kurzer Zeit ab, bzw. Excel hängt sich auf. Was ich verstehen kann, ist ja ne schleife in ner schleife, copy einer gesamten Zeile etc...
Könnt ihr mir Vielleicht ein Paar Tips geben wie ich die Prozedur zum laufen bringen? Ressourceneffizienter machen kann? oder vielleicht eine ganz andere möglichkeit?
Vielen Dank schonmal im Vorraus, habe gerade nicht viel Zeit deshalb wer Rechtschreibfehler findet darf sie behalten;)
|