Microsoft Excel

Herbers Excel/VBA-Archiv

VBA Schleife für Formel

Betrifft: VBA Schleife für Formel von: Susanne
Geschrieben am: 07.10.2014 07:10:49

Hallo,

ich habe Daten in Excel exportiert, die ich kategorisieren möchte. Leider sind die Rohdaten sehr konfus aufgebaut.

Die Datei enthält in Spalte A und B bestimmte Parameter.
Beispiel:

Spalte A
A1 enthält z. B.: 15 - Haus - Neubau / Abrechnung
A2 enthält z. B.: 23 - Neubau

Spalte B
B1 enthält z. B. Inkasso
B2 enthält z. B. Abrechnung

Man kann die Daten in Spalte A leider nicht klar nach "-" oder "/" trennen, sodass ich mir mit einer Formel in Spalte C helfe:

=WENN(NICHT(ISTFEHLER(SUCHEN("Wort1";A1)))=WAHR;"Kategorie1")

Nun muss ich aber jedes Mal filtern, bei welchen Zeilen "falsch" steht und die Wörter in der Formel anpassen. Ich benötige da ein Makro das automatisch das "Wort1" und "Kategorie1" ersetzt bis es in Spalte C keine Ausgabe "falsch" mehr gibt.

Kann mir da jemand weiterhelfen?

Vielen Dank und viele Grüße
Susanne

  

Betrifft: AW: VBA Schleife für Formel von: Daniel
Geschrieben am: 07.10.2014 07:41:48

Hi
Wiederhole einfach die Formel im Falsch-Teil der Wenn-Funktion mit der nächsten Kategorie und im Falschteil dieser Wenn-Funktion dann die dritte Kategorie usw.

=WENN(NICHT(ISTFEHLER(SUCHEN("Wort1";A1)))=WAHR;"Kategorie1";WENN(NICHT(ISTFEHLER(SUCHEN("Wort2";A1)) )=WAHR;"Kategorie2";WENN(NICHT(ISTFEHLER(SUCHEN("Wort3";A1)))=WAHR;"Kategorie3"))) 

Oder schematisch
=wenn(Bedingung1;Kategorie1;Wenn(Bedingung2;Kategorie2;wenn(Bedinung3;Kategorie3;....)))
Damit kannst du wahrscheinlich alle deine Kategorien in eine Formel packen.

Gruß Daniel


  

Betrifft: AW: VBA Schleife für Formel von: Susanne
Geschrieben am: 07.10.2014 08:27:55

Hallo Daniel,

erstmal vielen Dank.

Die Idee ist super, aber die Liste mit den Anpassungskriterien umfasst über 30 Einträge.
Soweit ich weiß ist das Verschachteln der Wenn-Formel begrenzt. Oder ist das inzwischen endlos möglich?

Viele Grüße
Susanne


  

Betrifft: AW: VBA Schleife für Formel von: Daniel
Geschrieben am: 07.10.2014 08:55:57

Hängt von der Excelversion ab.
Bis 2003 waren es 8 Ebenen, danach deutlich mehr.


Für eine Endlosliste muss test du die Worte und Kategorien in zwei Spalten auflisten und dann mit dieser Matrix Formel zuweisen (Worte in X, Kategorie in Y)

=index(y:y;max(wenn(istzahl(suchen(x1:x30;a1));Zeile(x1:x30))))

Eingabe immer mit STRG+SHIFT+ENTER abschließen.
Die Katekorie "nicht zugeordnet" muss mit einem unsinnswort an erster Stelle stehen
Gruss Daniel


  

Betrifft: AW: VBA Schleife für Formel von: Susanne
Geschrieben am: 07.10.2014 09:12:38

Hallo Daniel,

ganz lieben Dank, das hat funktioniert. Ich bin immer wieder erstaunt, was man auch ohne VBA-Codes so alles in Excel machen kann :)

Viele Grüße
Susanne


 

Beiträge aus den Excel-Beispielen zum Thema "VBA Schleife für Formel"