Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Nach Zelle suchen und bis zur nächsten Füllen

Nach Zelle suchen und bis zur nächsten Füllen
Marc
Hallo zuammen,
ich habe momentan folgendes Problem, was auf den Bildern zur Veranschaulichung zu sehen ist.
Ich möchte in Spalte A nach einem Eintrag suchen. Wenn dieser gefunden wird, soll dieser Zelleninhalt die unterhalb liegenden Zellen ebenfalls füllen. Bis ein nächster Eintrag kommt.
Die Befehle Autofill bis cells "" schwirrt mir so im Kopf rum. Ich komme aber nicht dahinter und hoffe auf eure Hilfe.
Userbild
Userbild
Besten Dank und schonmal vorweg ein schönes Wochenende.
Gruß Marc
Anzeige
https://www.herber.de/cgi-bin/forum/call_forum.pl
31.07.2009 14:00:35
Matthias5
Gruß,
Matthias
Mir wäre ein präziser link lieber!
31.07.2009 14:05:35
Marc
Mir wäre ein präziser link lieber! Habs vorher nicht gefunden
AW: Nach Zelle suchen und bis zur nächsten Füllen
31.07.2009 14:04:06
ptonka
Hallo Marc,
hiermit sollte es klappen:
Sub füllen()
LetzteZeile = [A65536].End(xlUp).Row
For i = 1 To LetzteZeile
wert1 = Cells(i, 1).Value
wert2 = Cells(i + 1, 1).Value
Select Case wert2
Case Is = ""
Cells(i + 1, 1).Value = wert1
Case Is  ""
End Select
Next i
End Sub

Problem ist nur: Wie oft soll die letzte Zahl wiederholt werden. Im o.a. Makro wird sie nicht berücksichtigt.
Gruß,
Ptonka
Anzeige
https://www.herber.de/forum/messages/1091574.html
31.07.2009 14:05:07
Erich
Hi,
der Link bringts!
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Na den meinte ich doch! :-))
31.07.2009 14:07:44
Matthias5
AW: Na den meinte ich doch auch! :-))
31.07.2009 14:12:43
Erich
Hi Matthias,
ja weiß ich! Und nun: Wenn man auf den Link in meinem Betreff klickt,
landet man aber nicht bei deinem Beitrag vom 27.07.,
sondern natürlich in dem Beitrag, den ich gerade geschrieben habe...
Ich hätte den Link besser in den Beitragsbody schreiben sollen, damit der Linktext nicht so lügt. ;-)
Grüße von Erich aus Kamp-Lintfort
Anzeige
Nochmal...
31.07.2009 14:06:15
Matthias5
Hallo Marc,
eigentlich wollte ich einen Beitrag von mir verweisen, hat aber irgendwie nicht geklappt, hier der Auszug:
Hallo Karl,
markiere den verwendeten Bereich in Spalte A (A1:A20000), rufe mit F5 das "Gehe zu"-Menü auf, wähle dort "Inhalte", dann "Leerzellen->ok". Jetzt hast du alle Leerzellen im markierten Bereich selektiert. Schreibe dann in die aktive Zelle (Bearbeitungsleiste): =A2 (2 steht hier für die Zeile direkt über der aktiven Zelle) und schließe die Formeleingabe mit CTRL+ENTER ab. Die Formeln kannst du hinterher durch Werte ersetzen.
Gruß,
Matthias
Anzeige
AW: Nochmal...
31.07.2009 15:15:00
Marc
Hallo,
Danke für die Tipps aber die Version von Karl füllt nur alle leeren Spalten mit einem einzigen vorgegebenen Wert aus.
Wenn Ihr meine Vorher - Nachher Bilder anschaut seht Ihr das sich der Wert ja immer wieder ändert.
Gruß
Marc
Der Tipp erfüllt exakt deinen Bedarf...
31.07.2009 15:21:31
Matthias5
Hallo Marc,
dann hast du dabei etwas falsch verstanden / umgesetzt. Gehe den Tipp bitte nochmal Schritt für Schritt durch.
Gruß,
Matthias
Anzeige
AW: Nochmal...
31.07.2009 15:25:15
Tino
Hallo,
versuche es mal mit diesem Code, Tabellennamen noch anpassen.
Sub Beispiel()
Dim Bereich As Range
Dim myAr
Dim A As Long
Dim Wert As Variant

With Sheets("Tabelle1") 'Tabellenname anpassen 
 Set Bereich = .Range("B1", .Cells(.Rows.Count, 2).End(xlUp)).Offset(0, -1)
End With

myAr = Bereich

For A = 1 To Ubound(myAr)
    If myAr(A, 1) <> "" And Wert <> myAr(A, 1) Then
     Wert = myAr(A, 1)
    ElseIf myAr(A, 1) = "" And Wert <> "" Then
     myAr(A, 1) = Wert
    End If
Next A

Bereich = myAr
End Sub
Gruß Tino
Anzeige
AW: Nochmal...
31.07.2009 16:03:22
Marc
Hey Tino,
dein Code hat wunderbar geklappt. Besten dank und euch allen ein schönes Wochenende.
MfG
Marc
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Excel Zellen Ausfüllen Bis Zum Nächsten Wert


Schritt-für-Schritt-Anleitung

Um in Excel Zellen auszufüllen bis zum nächsten Wert, kannst Du den folgenden VBA-Code verwenden. Dieser Code hilft Dir, die unterhalb liegenden Zellen mit dem Wert zu füllen, bis ein neuer Eintrag kommt.

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Klicke im Menü auf Einfügen und dann auf Modul.

  3. Kopiere den folgenden Code in das Modul:

    Sub füllen()
        LetzteZeile = [A65536].End(xlUp).Row
        For i = 1 To LetzteZeile
            wert1 = Cells(i, 1).Value
            wert2 = Cells(i + 1, 1).Value
            Select Case wert2
                Case Is = ""
                    Cells(i + 1, 1).Value = wert1
                Case Is ""
            End Select
        Next i
    End Sub
  4. Schließe den VBA-Editor und gehe zurück zu Excel.

  5. Drücke ALT + F8, wähle das Makro füllen aus und klicke auf Ausführen.

Dieser Code sorgt dafür, dass die Zellen in Spalte A gefüllt werden, bis ein neuer Wert auftritt.


Häufige Fehler und Lösungen

  • Fehler: "Objektvariable oder With-Blockvariable nicht festgelegt"

    • Lösung: Stelle sicher, dass Du die richtige Tabelle in Deinem Code angesprochen hast. Überprüfe den Tabellennamen in der With Sheets("Tabelle1") Zeile.
  • Fehler: Zellen werden nicht korrekt ausgefüllt

    • Lösung: Achte darauf, dass Du die richtige Spalte und den richtigen Bereich in Deinem Code angibst. Stelle sicher, dass der Bereich z.B. A1:A20000 korrekt definiert ist.

Alternative Methoden

Wenn Du kein VBA verwenden möchtest, kannst Du auch die Blitzvorschau-Funktion in Excel verwenden:

  1. Markiere die Zelle, die den Wert enthält.
  2. Ziehe den Füllgriff (das kleine Quadrat in der unteren rechten Ecke der Zelle) nach unten, um die Zellen aufzufüllen.
  3. Excel schlägt Dir automatisch vor, die Zellen zu füllen, basierend auf den vorherigen Werten.

Diese Methode ist besonders nützlich, wenn Du die Werte schnell ausfüllen möchtest, ohne ein Makro schreiben zu müssen.


Praktische Beispiele

Angenommen, Du hast in Spalte A folgende Werte:

A1: Wert1
A2: 
A3: 
A4: Wert2
A5: 
A6: 
A7: 
A8: Wert3

Nach der Ausführung des Makros füllen wird die Spalte A so aussehen:

A1: Wert1
A2: Wert1
A3: Wert1
A4: Wert2
A5: Wert2
A6: Wert2
A7: Wert2
A8: Wert3

Das Makro füllt die leeren Zellen mit dem letzten Wert, bis ein neuer Wert in der Spalte A gefunden wird.


Tipps für Profis

  • Überlege, ob Du den Einsatz von VBA oder Blitzvorschau für Deine Anforderungen anpassen möchtest.
  • Teste Deine Makros immer in einer Kopie Deiner Datei, um Datenverlust zu vermeiden.
  • Nutze die CTRL + Z Funktion, um Änderungen rückgängig zu machen, falls etwas schiefgeht.

FAQ: Häufige Fragen

1. Kann ich das Makro auch für andere Spalten verwenden? Ja, Du kannst das Makro für jede Spalte verwenden. Ändere einfach die Spaltennummer in Cells(i, 1) zu der gewünschten Spalte.

2. Funktioniert das auch in Excel Online? VBA-Makros funktionieren nicht in Excel Online. Du kannst jedoch die Blitzvorschau-Funktion nutzen, um Zellen auszufüllen.

3. Wie kann ich das Makro anpassen, wenn ich eine bestimmte Anzahl von Zellen ausfüllen möchte? Du kannst die Schleife im Makro so anpassen, dass sie nur bis zu einer bestimmten Zeile läuft, indem Du For i = 1 To 100 z.B. verwendest, um nur die ersten 100 Zeilen zu bearbeiten.

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