Hallo liebes Forum,
ein Macro sucht in einer Buchungsliste u.a nach Schlüsselwörtern in jeder Zeile (jede Zeile eine Buchung) und ermittelt anhand dieser Schlüsselwörter den jeweils enthaltenen U.St. Satz. Das funktioniert einwandfrei mittels folgender Formel:
Selection.FormulaLocal = „=WENN(SUMME(ZÄHLENWENN(A4:smiley:4;{“"*GEMA*""}))>0;(E4/1,07)*0,07;WENN(SUMME(ZÄHLENWENN(A4:smiley:4;{""*0%*"";""*U.St.*"";""*Live*"";""*AMAZON*"";""*Porto*"";""*Gebühr*"";""*Ebay*"";""*TTK*"";""*Zinsen*"";""*Power*"";""*Google*"";""*Prüfsumme*""}))>0;"""";(E4/1,19)*0,19))"
Zur Erläuterung (besonders für mich selbst):
Eine Buchung kann entweder 0%, 7% oder 19% U.St. enthalten.
Da die „wenn“ funktion nicht mit wildcards arbeitet wird der Umweg über „Zählenwenn“ genommen.
Findet sich ein Schlüsselwort das die Buchung identifiziert, dann wird es gezählt und das Ergebnis ist >0,
Das ganze ist eine verschachtelte "=WENN(SUMME(ZÄHLENWENN … Formel
Im ersten Teil wird nach GEMA gesucht. Wird GEMA gefunden, SUMME(ZÄHLENWENN also >0, dann werden 7% U.St ausgewiesen,
wird GEMA nicht gefunden, dann geht es mit der zweiten =WENN(SUMME(ZÄHLENWENN … Formel weiter.
Wird einer der strings „U.St.“, „Live“ etc. gefunden, dann wird keine U.St. ausgewiesen, sonst werden 19% ausgewiesen.
Da die lange Aufzählung von Schlüsselwörtern für 19% U.St. sehr unübersichtlich ist und auch von Zeit zu Zeit angepasst werden muss möchte ich hier lieber eine Liste bzw, einen per Namen definierten Bereich einsetzen.
Also habe ich so eine Liste / Namen angelegt: keineUST
und die Formel wie folgt geändert:
Selection.FormulaLocal = „=WENN(SUMME(ZÄHLENWENN(A4:smiley:4;{“"*GEMA*""}))>0;(E4/1,07)*0,07;WENN(SUMME(ZÄHLENWENN(A4:smiley:4;{keineUST}))>0;"""";(E4/1,19)*0,19))"
Nur leider funktioniert es nicht, der Debugger bleibt kommentarlos an dieser Zeile hängen. Kann mir jemand sagen, ob und wie ich diese Liste „keineUST „ richtig in die Formel einbauen kann?
Mfg, Michael