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

Forumthread: Zelle überprüfen und Nachbarzelle befüllen

Zelle überprüfen und Nachbarzelle befüllen
01.08.2014 15:17:57
Patrick
Schönen guten Tag zusammen,
ich habe eine Frage aufgrund meines kleinen Dilemmas.
Vor mir liegt eine Excelliste mit einer A und einer B Spalte, die in unterschiedlichen Zellen befüllt sind.
Ich möchte das die leeren Zeilen in Spalte B mit dem Wert der letzten befüllten Zelle
aus B aufgefüllt werden. Ähnlich wie das Doppelklicken mit der Maus in das kleine schwarze Kreuz rechts unten, wenn ihr versteht was ich meine.
Nun habe ich hier ein Mini-Makro gefunden, dass das soweit automatisch umsetzt:
Sub Autofüller()
For Each c In Range("B1", "B100")
If c = "*" Then c.Value = NeuerName
If c  "" Then NeuerName = c Else c.Value = NeuerName
Next
End Sub
Das Programm durchläuft jede Zeile und befüllt alle Zeilen mit dem Wert der letzten gefundenen befüllten Zelle.
Nun möchte ich, dass immer nur dann befüllt wird, falls in der selben Zeile im Spalte A ein Text vorhanden ist.
Ich weiß, dass man mit der ISTTEXT(A1) die Zelle auf Textinhalt prüfen kann,
aber ich habe absolut keine Ahnung, wie ich das mit dem Makro kombiniere und das dann fortlaufend bis zur letzen Zeile.
Also zusammengefasst:
Falls A1 Wert vorhanden und B1 vorhanden--> Wert von B1 merken
Falls A1 kein Wert vorhanden --> dann passiert nichts
nächste Zeile
Falls A2 Wert vorhanden und B2 nicht --> Wert von B1 hinein kopieren
Falls A2 Wert vorhanden und B2 vorhanden --> Wert von B2 merken
Falls A2 kein Wert vorhanden --> dann passiert nichts
nächste Zeile
usw.
bis Zeile 100 erreicht ist.
Könnt ihr mir etwas unter die Arme greifen?
Vielen lieben Dank an alle!
Lg
Patrick

Anzeige

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
das würde auch ganz ohne VBA gehen, ...
01.08.2014 15:35:27
neopa
Hallo Patrick,
... mit ein paar Mausklicks und einer Formel.
Aber wie auch immer, Du müsstest auf jeden Fall zunächst noch angeben, was genau Du mit: "mit dem Wert der letzten befüllten Zelle" meinst? Den momentan letzten (untersten) Wert der Spalte B oder den letzten Wert "" vor der jeweiligen zu befüllenden Leerzelle?
Gruß Werner
.. , - ...

Anzeige
AW: das würde auch ganz ohne VBA gehen, ...
01.08.2014 16:01:56
Steffen
Hallo Werner,
genau das meinte ich.
Also falls sagen wir mal in A1 ein Text steht und in B1 steht das Wort "Eis"
dann soll er in die nächste Zeile springen und schauen ob in A2 wieder ein Wort auftaucht und falls ja dann das Wort "Eis" in B2 kopieren.
Sollte B2 nun das Wort "Kugel" beinhalten dann soll er sich stattdessen das neue Wort "Kugel" merken und weiter laufen bis alle Zeilen durch sind.
Habe mal eine Beispielliste dran gehängt.
https://www.herber.de/bbs/user/91830.xlsx
Eigentlich ist es kein Problem bis Zeile 100 aber vermutlich geht das nächste Blatt bis Zeile 2000 und dann sinds nicht nur Spalte A und B sondern C,D und E kommen wohl noch dazu.
Das wird mit Mausklicks etwas Zeit kosten meine ich :/

Anzeige
AW: das würde auch ganz ohne VBA gehen, ...
01.08.2014 16:01:56
Steffen
Hallo Werner,
genau das meinte ich.
Also falls sagen wir mal in A1 ein Text steht und in B1 steht das Wort "Eis"
dann soll er in die nächste Zeile springen und schauen ob in A2 wieder ein Wort auftaucht und falls ja dann das Wort "Eis" in B2 kopieren.
Sollte B2 nun das Wort "Kugel" beinhalten dann soll er sich stattdessen das neue Wort "Kugel" merken und weiter laufen bis alle Zeilen durch sind.
Habe mal eine Beispielliste dran gehängt.
https://www.herber.de/bbs/user/91830.xlsx
Eigentlich ist es kein Problem bis Zeile 100 aber vermutlich geht das nächste Blatt bis Zeile 2000 und dann sinds nicht nur Spalte A und B sondern C,D und E kommen wohl noch dazu.
Das wird mit Mausklicks etwas Zeit kosten meine ich :/

Anzeige
als Formellösung ...
01.08.2014 15:57:51
neopa
Hallo Patrick,
... nachdem ich gerade Deine Anfrage nochmal gelesen habe, stellte ich fest, dass meine Gegenfrage überflüssig war. So wie Du abschließend schreibst, kommt nur folgendes in Frage. Und zwar als Formellösung nur für Leerzellen ab Zelle B2.
Markiere die komplette Spalte B; betätige [F5], aktiviere danach Inhalte und dort dann "Leerzellen" und schreibe in die Eingabezeile folgende Formel:
=WENN(ISTTEXT(INDEX(A:A;ZEILE()))*(ZEILE()""); B$1:INDEX(B:B;ZEILE()-1));"") 
Nun betätige danach die Tastenkombination [STRG]+[Enter]
Gruß Werner
.. , - ...

Anzeige
AW: als Formellösung ...
01.08.2014 16:03:49
Patrick
Hallo Werner,
wir probieren es mal schnell aus.
Gruß

AW: als Formellösung ...
01.08.2014 16:27:22
Patrick
So haben es probiert aber die Spalte wird dabei komplett ausgefüllt also auch wenn in der Spalte A kein Wert steht füllt er die selbe Zeile in Spalte B dennoch aus.
Woran könnte das liegen?

die Formel ist korrekt ...
04.08.2014 10:31:56
neopa
Hallo Patrick,
... hab sie gerade nochmal getestet. Wenn sie auch Zellen befüllt, wo in Spalte A leere Zellen stehen, dann nur, wenn dort dort diese nicht wirklich leer sind, z.B. unsichtbare Zeichen oder ein ="" drin steht. Letzteres kann man mit der Formel noch abfangen.
=WENN(ISTTEXT(INDEX(A:A;ZEILE()))*(ZEILE()"");VERWEIS(9;1/(B$1:INDEX( _
B:B;ZEILE()-1)""); B$1:INDEX(B:B;ZEILE()-1));"")

Bei entsprechender Anpassung kannst Du die Formel natürlich auch für Spalte D etc nutzen.
Gruß Werner
.. , - ...

Anzeige
AW: die Formel ist korrekt ...
07.08.2014 11:26:21
Patrick
Hallo Werner,
bitte entschuldige, dass ich jetzt erst schreibe. Habe deinen Post völlig übersehen.
Die Formel wurde nun entsprechend ergänzt, aber leider gibt Excel mir nun eine Warnung raus:
Stichwort Zirkelbezug.
Das Problem ist, dass ich diese Formel, die am Anfang der Spalte steht nur allzu schlecht löschen kann.
Gruß
Patrick

Anzeige
hast Du die Formel modifiziert ? ...
07.08.2014 12:18:31
neopa
Hallo Patrick,
... stell doch noch mal Deine Datentabelle (auf das notwendige reduziert und evtl. anonymisiert) hier ein. Dann sehen wir weiter.
Gruß Werner
.. , - ...

AW: hast Du die Formel modifiziert ? ...
07.08.2014 14:10:31
Patrick
Hallo Werner,
das wird wohl einfacher sein, da hast du Recht.
Ich habe mal einen Ausschnitt mit hochgeladen.
https://www.herber.de/bbs/user/91953.xlsx
Die rot markierten Flächen sind verantwortlich dafür, ob die gelb markierten Flächen befüllt werden.
Für die Befüllung wird der erste Wert, in meinem Fall die blaue Fläche, verwendet.
Das Problem sind die grünen Flächen. Diese sollten unverändert bleiben, aber genau da liegt mein Problem. Unter anderem auch mit meinem Makro.
Leider werden immer alle Felder befüllt.
Gruß
Patrick

Anzeige
bei mir ist alles palletti ... allerdings ...
07.08.2014 14:36:40
neopa
Hallo Patrick,
... Du musst zuvor Deinen Datenbereich G5:K101 vom Zellformat "Text" in das Zellformat "Standard" ändern. Anderenfalls werden die Formeln nicht ausgewertet.
Nun markiere G5:K101, [F5], Inhalte aktivieren und dann Leerzellen und dann folgende (an den geänderten Bereich angepasste) Formel in den Eingabebereich einkopieren:
=WENN(ISTTEXT(INDEX($F:$F;ZEILE()))*(ZEILE()"");VERWEIS(9; 1/(G$1:INDEX(G:G;ZEILE()-1)""); G$1:INDEX(G:G;ZEILE()-1));"")  
in die Eingabezeile kopieren und [Strg]+ [Enter] betätigen und ... ferdsch.
Gruß Werner
.. , - ...

Anzeige
AW: bei mir ist alles palletti ... allerdings ...
07.08.2014 15:25:15
Patrick
Na wer sagt's den, jetzt funktioniert es auch bei mir!
Super Werner, vielen herzlichen Dank für die Mühe!!
Gruß
Patrick

AW: Zelle überprüfen und Nachbarzelle befüllen
07.08.2014 10:28:54
Patrick
Hallo zusammen,
ich würde dieses Thema gerne nochmals anstoßen, da ich bislang nicht weiter gekommen bin.
Gibt es evtl. noch weitere Vorschläge?
Lg
Patrick

Anzeige
na, dann stell ich den Thread auf offen ... owT
07.08.2014 11:22:37
neopa
Gruß Werner
.. , - ...
;

Forumthreads zu verwandten Themen

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

Zelle überprüfen und Nachbarzelle befüllen


Schritt-für-Schritt-Anleitung

Um eine Zelle in Excel zu überprüfen und die Nachbarzelle zu befüllen, kannst Du entweder ein Makro verwenden oder eine Formel. Hier ist eine einfache Schritt-für-Schritt-Anleitung für beide Methoden:

Mit VBA-Makro:

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

  2. Klicke auf Einfügen > Modul, um ein neues Modul zu erstellen.

  3. Kopiere den folgenden Code in das Modul:

    Sub Autofüller()
       Dim NeuerName As String
       Dim c As Range
       For Each c In Range("B1", "B100")
           If c.Offset(0, -1) <> "" Then  ' Prüft, ob in Spalte A ein Wert vorhanden ist
               If c = "" Then
                   c.Value = NeuerName
               Else
                   NeuerName = c.Value
               End If
           End If
       Next c
    End Sub
  4. Schließe den VBA-Editor und führe das Makro aus.

Mit einer Excel-Formel:

  1. Wähle die gesamte Spalte B aus und drücke F5, um das „Gehe zu“-Fenster zu öffnen.

  2. Wähle „Leerzellen“ aus und klicke auf „OK“.

  3. Gib die folgende Formel in die Eingabezeile ein:

    =WENN(ISTTEXT(INDEX(A:A;ZEILE()))*(ZEILE()<>"";VERWEIS(9;1/(B$1:INDEX(B:B;ZEILE()-1)<>""); B$1:INDEX(B:B;ZEILE()-1));"")
  4. Drücke STRG + ENTER, um die Formel in alle markierten Zellen einzufügen.


Häufige Fehler und Lösungen

  • Excel schwarzes Kreuz kommt nicht: Wenn Du das kleine schwarze Kreuz zum Ausfüllen nicht siehst, könnte es an den Zellformatierungen liegen. Stelle sicher, dass die Zellen nicht auf "Text" formatiert sind, da dies die Funktionalität beeinträchtigen kann.

  • Zellen werden trotz leerer A-Spalte befüllt: Überprüfe, ob in der A-Spalte unsichtbare Zeichen vorhanden sind. Du kannst die Formel anpassen, um auch solche Fälle abzufangen.


Alternative Methoden

Statt VBA oder einer direkten Formel kannst Du auch die Funktion „Suchen und Ersetzen“ nutzen, um leere Zellen manuell zu füllen. Eine weitere Möglichkeit ist die Verwendung von Array-Formeln, die jedoch etwas komplexer in der Handhabung sind.


Praktische Beispiele

Angenommen, Du hast folgende Werte:

A B
Text1
Text2 Eis
Text3 Kugel

Nach der Anwendung der oben genannten Methoden sollte die Spalte B nach dem Ausfüllen so aussehen:

A B
Text1 Eis
Text2 Eis
Eis
Text3 Kugel

Tipps für Profis

  • Excel Text in Zelle weiterlaufen lassen: Wenn Du lange Texte in einer Zelle hast, aktiviere den Zeilenumbruch, um die Lesbarkeit zu erhöhen.
  • Schnelle Navigation: Nutze STRG + Pfeiltasten, um schnell durch große Datensätze zu navigieren und leere Zellen zu finden.
  • Formelprüfung: Verwende die Funktion „Formelauswertung“, um Deine Formeln Schritt für Schritt zu überprüfen und Fehler leichter zu identifizieren.

FAQ: Häufige Fragen

1. Wie kann ich sicherstellen, dass meine Formel nicht mit Zirkelbezügen arbeitet?
Vermeide es, in der Formel auf die gleiche Zelle zu verweisen, in der die Formel steht. Achte darauf, dass die Eingabebereiche korrekt definiert sind.

2. Funktioniert das auch in Excel Online?
Einige VBA-Funktionen sind in Excel Online nicht verfügbar. Du kannst jedoch die Formelmethoden verwenden, um ähnliche Ergebnisse zu erzielen.

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