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

VBA KGRÖSSTE, ZÄHLENWENN Formel in Zelle schreiben

VBA KGRÖSSTE, ZÄHLENWENN Formel in Zelle schreiben
25.10.2018 10:38:51
japes36
Hallo zusammen,
https://www.herber.de/bbs/user/124903.xlsx
im Sheet "Eingabe Daten" sind in der Praxis viele tausend Zeilen mit Datum in Spalte A. Im Sheet "Konfiguration" stehen ab B26 aufgelistet, welches Datum überhaupt in den tausenden Zeilen vorhanden ist.
Ein Makro kopiert aus dieser Datei Zeugs raus zum ältesten vorhandenen Datum und löscht dann alle Zeilen mit diesem Datum aus dem Sheet "Eingabe Daten".
Das Problem:
die Range in den Formeln ab B26 wird durch das Löschen immer angepasst, d.h. aus der ursprünglichen Range $A$4:$A$40000 werden von den 40000 die Anzahl der gelöschten Datumszeilen subtrahiert.
Kein Problem dacht ich, schreib ich am Ende einfach per VBA die Urformeln mit der richtigen Range wieder ab B26 in die Zellen mit Range("B26").formulalocal = Formel.
mit "=MIN('Eingabe Daten'!$A$4:$A$40000)" für B26 gehts auch.
aber für die Formel für die anderen Zellen gehts nicht.
=WENN(MAX('Eingabe Daten'!$A$4:$A$35256)=MAX(Konfiguration!$B$26:B26);""; KGRÖSSTE('Eingabe Daten'!$A$4:$A$35256;ZÄHLENWENN('Eingabe Daten'!$A$4:$A$35256; "> "&Konfiguration!B26)))
dann steht ab B27 (bis B40) immer WAHR in den Zellen.
Wie löse ich denn das Problem?
Danke für eure Unterstützung :)
Jan

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA KGRÖSSTE, ZÄHLENWENN Formel in Zelle schreiben
25.10.2018 10:44:31
Werner
Hallo Jan,
hast du die "Gänsefüßchen" in der Formel auch gedoppelt?
=WENN(MAX('Eingabe Daten'!$A$4:$A$35256)=MAX(Konfiguration!$B$26:B26);""""; KGRÖSSTE('Eingabe  _
Daten'!$A$4:$A$35256;ZÄHLENWENN('Eingabe Daten'!$A$4:$A$35256; "">""&Konfiguration!B26)))
Gruß Werner
AW: VBA KGRÖSSTE, ZÄHLENWENN Formel in Zelle schreiben
25.10.2018 10:52:08
japes36
Orrrr meine Herznerven. Das war echt alles Oo
Dankeschön :)
Gibts da auch ne Erklärung, warum an dies machen muss? Von der Logik her könnte man ja davon ausgehen, dass wenn die ganze Formel in Gänsefüsschen steht, sowas nicht notwendig ist.
AW: VBA KGRÖSSTE, ZÄHLENWENN Formel in Zelle schreiben
25.10.2018 10:52:09
japes36
Orrrr meine Herznerven. Das war echt alles Oo
Dankeschön :)
Gibts da auch ne Erklärung, warum an dies machen muss? Von der Logik her könnte man ja davon ausgehen, dass wenn die ganze Formel in Gänsefüsschen steht, sowas nicht notwendig ist.
Anzeige
AW: VBA KGRÖSSTE, ZÄHLENWENN Formel in Zelle schreiben
25.10.2018 10:56:24
Werner
Hallo Jan,
die ganze Formel wird von Excel ja als String behandelt Gänsefüßchen vor dem = und Gänsefüßchen nach der letzten Klammer. Wenn du jetzt innerhalb dieses Strings noch einen String hast dann mußt du das Excel durch die Doppelung mitteilen.
Gruß Werner
AW: VBA KGRÖSSTE, ZÄHLENWENN Formel in Zelle schreiben
25.10.2018 10:57:33
japes36
Alles klar. Verstanden.
Danke Werner :)
Gerne u. Danke für die Rückmeldung. o.w.T.
25.10.2018 11:18:19
Werner
AW: VBA KGRÖSSTE, ZÄHLENWENN Formel in Zelle schreiben
25.10.2018 13:56:03
japes36
Ich bin's dann doch nochmal. Nachdem ich es jetzt mit Daten getestet habe, kommt es zu folgendem Problem:
Die Formeln werden ab B26 geschrieben, aber VBA entfernt bei den Strings inmitten der Formeln die falschen Gänsefüsschen bei dem >. ich hab jetzt vor und nach dem > jeweils ein Leerzeichen (siehe unten). Oo im VBA Code 2 zusätzliche Gändefüsschen notwendig hab ich gelernt und nun das....Ich nehme an ein MS Bug. Hat jemand ne Lösung?
....ZÄHLENWENN('Eingabe Daten'!$A$4:$A$40000;" > "&Konfiguration!B30)))
Dankeschön :)
Anzeige
AW: VBA KGRÖSSTE, ZÄHLENWENN Formel in Zelle schreiben
25.10.2018 14:05:12
japes36
Ich brauch doch nur von B26 bis B40 der Reihenfolge nach alle Daten (Datums :D ) und beim löschen der Zeilen darf sich die Range nicht ändern. :/
Doppelte Gänsefüßchen
25.10.2018 10:58:28
Daniel
Hi
naja, das Gänsefüßchen hat ja eine Doppelfunktion:
es kann das Zeichen sein, dass den Teilstring begrenzt, aber es kann auch ein einfaches anzuzeigendes Zeichen sein.
Es könnte ja sein, dass du deine Formel nicht als ganzes eingibst, sondern aus einzelnen Teilstrings und Variablen zusammensetzen willst.
Um anzugeben, in welcher Funktion es agieren soll, hat sich MS eben für die Dopplung entschieden.
Gruß Daniel
AW: Doppelte Gänsefüßchen
25.10.2018 11:02:42
japes36
Dir auch Danke :)
Anzeige

435 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige