VBA - Zeile ? bis letzte Zeile markieren ...
Guten Morgen!
Ich möchte gerne den Bereich A5 bis B??? markieren und dort Formeln einfügen.
??? steht jeweils für die letzte Zeile.
Folgendes Makro funtioniert läuft aber sehr, sehr langsam.
Sub Formelkopie()
Application.ScreenUpdating = False
Sheets("Test").Activate
Range("A4:B4").Copy
zeilenanzahl = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
For hilfe01 = 5 To zeilenanzahl
With Cells(hilfe01, 1).Select
ActiveSheet.Paste
End With
Next hilfe01
Application.ScreenUpdating = True
End Sub
Wahrscheinlich liegt es daran, dass ich jede Zeile ansteuere.
Wie kann ich das Makro verbessern?
Kann man vielleicht den Bereich A5:B??? gleich markieren und dann erst einfügen?
Ciao
Tom
Antwort schreiben
Antwort 1 von Saarbauer vom 03.04.2020, 08:22 Options
Hallo,
warum machst du es nicht so
Sheets("Test").Activate
Range("A4:B4").Copy
zeilenanzahl = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
Range("A4:B" & zeilenzahl)..Select
ActiveSheet.Paste
Gruß
Helmut
Antwort 2 von Saarbauer vom 03.04.2020, 08:23 Options
Hallo,
Zitat:
Range("A4:B" & zeilenzahl)..Select
nur ein Punkt, also so
Range("A4:B" & zeilenzahl).Select
Gruß
Helmut
Antwort 3 von Tomschi vom 03.04.2020, 11:24 Options
Hallo Helmut!
Danke für Deine Unterstützung!
Ich habe Deinen Code inkl. dem Update aus Antwort 2 in meine Datei eingefügt und dabei eine Fehlermeldung bekommen:
Laufzeitfehler '1004'
Die Methode 'Range' für das Objekt '_Globarl' ist fehlgeschlagen
Beim "debuggen" wird Range("A4:B" & zeilenzahl).Select markiert.
Auf meinen Test-PC läuft Office2000 - SP3.
lg
Tom
Antwort 4 von Saarbauer vom 03.04.2020, 11:39 OptionsLösung
hallo,
der Fehler liegt hier
zeilenzahl und du hast
zeilenanzahl
Ich konnte das Modul nicht testen, da du ja nur einen Teil eigestellt hast
Gruß
Helmut
Antwort 5 von Tomschi vom 03.04.2020, 12:27 Options
Mahlzeit!
Wie immer hast Du recht!
Ich habe aus Deinem Code einen Teil einfach 1:1 herauskopiert und in mein Makro eingefügt. Dabei habe ich übersehen, dass Du zeilenzahl und nicht zeilenANzahl verwendet hast.
...
Ich konnte das Modul nicht testen, da du ja nur einen Teil eigestellt hast
...
= Verstehe ich jetzt nicht.
Ich meiner ursprünglichen Frage habe ich doch alles gepostet, oder irre ich mich da.
Egal. Auf jeden Fall hast Du mir sehr geholfen!
Ich werde Dir dann gleich ein paar Bonuspunkte zukommen lassen. Ich wusste nicht, dass man auch in VBA Bereiche so zusammenbauen kann.
Bis zur nächsten Frage. ;-)
Tom
Antwort 6 von Saarbauer vom 03.04.2020, 14:16 Options
hallo,
ich habe es nur nach der in der Frage zur Verfügung gestellten Angaben umgebaut und mir kein passendes Makro erzeugt, sonst wäre mir der Fehler sicher selbst aufgefallen
Gruß
Helmut
Antwort 7 von Tomschi vom 03.04.2020, 15:06 Options
Hi!
Macht ja nichts.
Hauptsache Problem gelöst.
DANKE!
Tom