PDA

Vollständige Version anzeigen : Makro - 'AutoFill' bis zum Ende der Tabelle


Timonbarden
07.09.2011, 11:24
Hallo,

mein Problem ist, das ich einige Datensätze habe, die immer mal in der Anzahl unterschiedlich sein können. Dazu habe ich eine Vorlage erstellt, das ich Formeln direkt angrenzend an den ersten Datensatz habe. Nun möchte ich all die Formeln markieren und bis zum letzten Datensatz kopieren. Natürlich nicht mit gehaltener linken Maustaste, sondern per Doppelklick, unten rechts (schwarzes Kreuz, ihr wisst schon was ich meine ;) )

Dann funktioniert es auch. Die ganze Geschichte möchte ich jedoch in einem Makro basteln:

Sub Makro8()
'
' Makro8 Makro
'

'
Range("N28").Select
Range(Selection, Selection.End(xlToRight)).Select
Selection.AutoFill Destination:=Range("N28:Q33")
Range("N28:Q33").Select
End Sub

In diesem Makro nutzt Excel jedoch absolute Zellenangaben. Ich möchte jedoch, dass er mir die Zellen bis zum letzten Datensatz kopiert. Das Excel immer bei Zelle N28 anfängt kann so bleiben, nur soll er nicht bei Q33 aufhören, da es ja auch mal ein paar Datensätze mehr sein können. Ich möchte aber auch nicht einfach bis Q51855 kopieren, wenn es nicht soviele Datensätze gibt.

Im anhang habe ich eine Datei mit Erklärungen angefügt. Ich hoffe spätestens mit dieser Datei versteht ihr mein Problem und könnt mir helfen :)

Mfg
Timon

hary
07.09.2011, 12:43
Hallo
Dim letzte As Long
letzte = Cells(Rows.Count, 3).End(xlUp).Row
Range("N28").Select
Range(Selection, Selection.End(xlToRight)).AutoFill Destination:=Range("N28:Q" & letzte)
gruss hary

Timonbarden
07.09.2011, 14:10
Danke schonmal für die flotte antwort,

leider funktioniert das noch nicht. Was eventuell daran liegt das ich die angehangene Datei etwas anders habe. Es fängt in Zeile N4 an, anstatt N28 (was kein Problem darstellen sollte). Das habe ich geändert. (Siehe Code unten).

Und anstatt, dass es 4 Formeln gibt rechts daneben, gibt es in Wirklichkeit 18 Formeln. Stellt das ein Problem da? Oder habe in meinem Code noch etwas vergessen?

Fehlermeldung lautet: Laufzeitfehler 1004. Die AutoFill-Metode des Range-Objektes konnte nicht ausgeführt werden.

Sub Auswertungstarten()
'
' Auswertungstarten Makro
'
'
Dim letzte As Long
letzte = Cells(Rows.Count, 3).End(xlUp).Row
Range("N4").Select
Range(Selection, Selection.End(xlToRight)).AutoFill Destination:=Range("N4:Q" & letzte)
End Sub

hary
07.09.2011, 14:22
hallo
ja, dann passt Q nicht mehr. Sollen nur die 4 runtergezogen werden oder alle 18 ?
hary

Timonbarden
07.09.2011, 14:37
hallo
ja, dann passt Q nicht mehr. Sollen nur die 4 runtergezogen werden oder alle 18 ?
hary

Aaaaaaaaaaaaaaaah :stupid:

da hätte ich ja selber drauf kommen können/müssen. Natürlich ist das dann nichtmehr Spalte "Q" sondern nun "AE". Heißt, ich wollte auch alle 18 Formeln kopieren. Danke hary. Bester Mann :top:

hary
07.09.2011, 14:59
Hallo
danke fuer die Blumen(bin aber lange noch nicht so weit)
geht auch so.
Dim letzte As Long
letzte = Cells(Rows.Count, 3).End(xlUp).Row
Range("N4:AE4").AutoFill Destination:=Range("N4:AE" & letzte)
gruss hary