Microsoft Excel

Herbers Excel/VBA-Archiv

Zelle überprüfen und Nachbarzelle befüllen

Betrifft: Zelle überprüfen und Nachbarzelle befüllen von: Patrick
Geschrieben am: 01.08.2014 15:17:57

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

  

Betrifft: das würde auch ganz ohne VBA gehen, ... von: neopa C (paneo)
Geschrieben am: 01.08.2014 15:35:27

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
.. , - ...


  

Betrifft: AW: das würde auch ganz ohne VBA gehen, ... von: Steffen
Geschrieben am: 01.08.2014 16:01:56

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 :/


  

Betrifft: AW: das würde auch ganz ohne VBA gehen, ... von: Steffen
Geschrieben am: 01.08.2014 16:01:56

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 :/


  

Betrifft: als Formellösung ... von: neopa C (paneo)
Geschrieben am: 01.08.2014 15:57:51

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()<101);VERWEIS(9;1/(B$1:INDEX(B:B;ZEILE()-1)<>""); B$1:INDEX(B:B;ZEILE()-1));"") 
Nun betätige danach die Tastenkombination [STRG]+[Enter]

Gruß Werner
.. , - ...


  

Betrifft: AW: als Formellösung ... von: Patrick
Geschrieben am: 01.08.2014 16:03:49

Hallo Werner,

wir probieren es mal schnell aus.

Gruß


  

Betrifft: AW: als Formellösung ... von: Patrick
Geschrieben am: 01.08.2014 16:27:22

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?


  

Betrifft: die Formel ist korrekt ... von: neopa C (paneo)
Geschrieben am: 04.08.2014 10:31:56

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()<101)*(INDEX(A:A;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
.. , - ...


  

Betrifft: AW: die Formel ist korrekt ... von: Patrick
Geschrieben am: 07.08.2014 11:26:21

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


  

Betrifft: hast Du die Formel modifiziert ? ... von: neopa C (paneo)
Geschrieben am: 07.08.2014 12:18:31

Hallo Patrick,

... stell doch noch mal Deine Datentabelle (auf das notwendige reduziert und evtl. anonymisiert) hier ein. Dann sehen wir weiter.

Gruß Werner
.. , - ...


  

Betrifft: AW: hast Du die Formel modifiziert ? ... von: Patrick
Geschrieben am: 07.08.2014 14:10:31

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


  

Betrifft: bei mir ist alles palletti ... allerdings ... von: neopa C (paneo)
Geschrieben am: 07.08.2014 14:36:40

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()<101)*(INDEX($F:$F;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
.. , - ...


  

Betrifft: AW: bei mir ist alles palletti ... allerdings ... von: Patrick
Geschrieben am: 07.08.2014 15:25:15

Na wer sagt's den, jetzt funktioniert es auch bei mir!
Super Werner, vielen herzlichen Dank für die Mühe!!

Gruß
Patrick


  

Betrifft: AW: Zelle überprüfen und Nachbarzelle befüllen von: Patrick
Geschrieben am: 07.08.2014 10:28:54

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


  

Betrifft: na, dann stell ich den Thread auf offen ... owT von: neopa C (paneo)
Geschrieben am: 07.08.2014 11:22:37

Gruß Werner
.. , - ...


 

Beiträge aus den Excel-Beispielen zum Thema "Zelle überprüfen und Nachbarzelle befüllen"