Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.10.2025 10:28:49
16.10.2025 17:40:39
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: VBA: filldown - automatisch ausfüllen

VBA: filldown - automatisch ausfüllen
25.01.2021 10:47:29
Erwin
Hallo Zusammen,
aus einer Auswertung bekomme ich eine Datei, in welcher u. a. eine Region und ein Gemeindeschlüssel enthalten ist und möchte hier eine Teamzuordnung vornehmen.
Da die Region und der Gemeindeschlüssel bei anderen Auswertungen nicht immer in der gleichen Spalte bzw. Zeile stehen, lege ich den Beginn der Daten über eine Inputbox fest.
Meine Idee ist, über Filter und automatischem ausfüllen (FillDown) die Teamzuordnung per Makroaufzeichnung zu machen (es geht sicher auch über „wenn – dann“, aber das kann ich nicht aufzeichnen).
Ich habe alles geschafft und kann auch in der 1. sichtbaren Zelle das Team eintragen, aber beim automatischen Ausfüllen scheitere ich seit Stunden, obwohl ich mir viele Beispiele zu „FillDown“ und „Selection.FillDown“ angesehen habe. Es erscheint: „Laufzeitfehler 1004: Die Methode "Range" für das Objekt "_Global" ist fehlgeschlagen“
Kann sich bitte jemand das Ende des Makros ansehen und zum Laufen bringen?
Beispieldatei: https://www.herber.de/bbs/user/143305.xlsm
Vielen Dank im Voraus
Erwin
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA: filldown - automatisch ausfüllen
25.01.2021 14:18:30
Yal
Moin Erwin,
Range erwartet entweder die Adresse einer Zelle oder Bereich oder die Zelle oder Bereich selbst.
Mit der Eingabe von 2 Zellen Komma-getrennt, macht Range ein Bereich von alle Zellen dazwischen.
Aber es müssen beide Zelle sein.
In deinem Beispiel gibst Du iRow, was nur ein Zahl ist. Range kann damit nichts anfangen.
Mein Vorschlag: direkt mit Zellen arbeiten. Alte Auskommentiert, neue/alterbnative direkt darunter
'  Dim iRow As Integer
Dim LetzteZelle As Range
'  iRow = Cells(Rows.Count, 1).End(xlUp).Row
Set LetzteZelle = Cells(Rows.Count, 1).End(xlUp)
'  Range(Selection, iRow).Select    '
Ein vorige Select ist für FillDown nicht notwendig (ein Zeile Code gespart ;-)
VG
Yal
Anzeige
AW: VBA: filldown - automatisch ausfüllen
25.01.2021 14:31:18
Erwin
Hallo Yal,
danke für die guten Informationen, die ich grundsätzlich verstehe.
Aber "letzte Zelle" hat keinen Wert erhalten, weil die Spalte von dem Eintrag "Team1" von Zeile 5-21 leer ist.
Gibt es hier nicht eine Möglichkeit, von einer anderen Spalte (z. B Spalte "A") die letzte Zelle zu ermitteln und für Spalte "E" zu verwenden?
Grüße - Erwin
Anzeige
hab's selbst geschafft
25.01.2021 14:49:52
Erwin
Hi Yal,
hab's selbst geschafft; letzte Zelle in Spalte A ermittelt und für Spalte E benutzt.
Grüße - Erwin
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Automatisches Ausfüllen mit VBA in Excel


Schritt-für-Schritt-Anleitung

  1. Öffne deine Excel-Datei.

  2. Drücke ALT + F11, um den VBA-Editor zu öffnen.

  3. Füge ein neues Modul ein:

    • Klicke mit der rechten Maustaste auf „VBAProject (deinDateiname)“.
    • Wähle „Einfügen“ > „Modul“.
  4. Kopiere und füge den folgenden Code ein:

    Sub FillDownExample()
       Dim LetzteZelle As Range
       Dim iRow As Integer
    
       ' Ermittlung der letzten Zelle in Spalte A
       Set LetzteZelle = Cells(Rows.Count, 1).End(xlUp)
    
       ' Teamzuordnung in Spalte E von Zeile 5 bis zur letzten gefüllten Zeile
       Range("E5:E" & LetzteZelle.Row).Value = "Team1"
    
       ' FillDown anwenden
       Range("E5:E" & LetzteZelle.Row).FillDown
    End Sub
  5. Führe das Makro aus:

    • Drücke F5 oder klicke auf „Ausführen“.

Jetzt wird das Team „Team1“ automatisch in die Zellen von E5 bis zur letzten gefüllten Zeile in Spalte A ausgefüllt.


Häufige Fehler und Lösungen

  • Laufzeitfehler 1004: Die Methode "Range" für das Objekt "_Global" ist fehlgeschlagen.

    • Lösung: Stelle sicher, dass du die korrekten Zellreferenzen verwendest. Achte darauf, dass iRow als Integer deklariert ist und dass der Range-Befehl korrekt formatiert ist.
  • Die letzte Zelle wird nicht korrekt ermittelt.

    • Lösung: Verwende eine andere Spalte, die Werte enthält, um die letzte Zelle zu bestimmen. Zum Beispiel in Spalte A, wenn Spalte E leer ist.

Alternative Methoden

  • Verwendung von Selection.FillDown: Wenn du die Zellen manuell auswählst, kannst du Selection.FillDown verwenden, um die ausgewählten Zellen auszufüllen.

  • Automatisches Ausfüllen mit Excel-Formeln: Anstelle von VBA kannst du auch Excel-Formeln verwenden, um Daten automatisch auszufüllen, z.B. mit der Funktion =A2 in Zelle E2 und dann den Ausfüllgriff verwenden.


Praktische Beispiele

  1. Monate automatisch ausfüllen: Um Monate in Excel automatisch auszufüllen, kannst du die Formel nutzen und die Zellen dann mit FillDown ausfüllen.

    Sub FillMonths()
       Dim i As Integer
       For i = 1 To 12
           Cells(i, 1).Value = MonthName(i)
       Next i
    End Sub
  2. Zellen automatisch ausfüllen mit einem Makro: Wenn du eine Liste von Werten hast, kannst du sie schnell mit excel zellen automatisch ausfüllen makro ausfüllen.


Tipps für Profis

  • Verwende With-Anweisungen, um deinen Code zu optimieren.

    With Range("E5:E" & LetzteZelle.Row)
       .Value = "Team1"
       .FillDown
    End With
  • Teste dein Makro mit verschiedenen Daten, um sicherzustellen, dass es flexibel ist.

  • Nutze die Möglichkeit, Input-Boxen zu verwenden, um dynamische Zellreferenzen zu erstellen.


FAQ: Häufige Fragen

1. Wie kann ich das FillDown für die letzte Zeile anpassen?
Du kannst Cells(Rows.Count, 1).End(xlUp).Row verwenden, um die letzte gefüllte Zeile zu ermitteln und dann die entsprechende FillDown-Anweisung anpassen.

2. Gibt es eine Möglichkeit, mehrere Spalten gleichzeitig auszufüllen?
Ja, du kannst mehrere Bereiche in einer Range-Anweisung kombinieren, z.B. Range("E5:F" & LetzteZelle.Row).FillDown.

Nutze diese Tipps und Anleitungen, um deine Excel VBA Kenntnisse im Bereich FillDown zu verbessern!

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige