Microsoft Excel

Herbers Excel/VBA-Archiv

VBA - ZÄHLENWENN Jahr übereinstimmt


Betrifft: VBA - ZÄHLENWENN Jahr übereinstimmt
von: RK
Geschrieben am: 07.12.2018 07:19:12

Aloha Community,

in meinem VBA-Code habe ich folgende Zeile verpackt:

...
.FormulaLocal = "=ZÄHLENWENNS(D:D;""*" & Model & "*"";F:F;XFC2;E:E;" & Part & ")"
...

Es wird gezählt, wenn
- dass angegebene Modell in Spalte D,
- die angegebene Nummer in Zelle XFC2,
- der Part in Spalte E
vorkommt.

Ich möchte den Ausdruck um die Suche nach einem Jahr erweitern.
Die Variable Y erhält eine Jahreszahl, in Spalte A stehen die Daten (TT.MM.JJJJ).
Leider habe ich bisher keinen passenden Ausdruck gefunden.

Bin für jede Hilfe dankbar.

  

Betrifft: AW: VBA - ZÄHLENWENN Jahr übereinstimmt
von: RK
Geschrieben am: 07.12.2018 07:22:23

Kleine Korrektur:

Es wird gezählt, wenn
- dass Modell in Spalte D,
- die Nummer aus XFC2 in Spalte F,
- der Part in Spalte E
vorkommt.


  

Betrifft: AW: VBA - ZÄHLENWENN Jahr übereinstimmt
von: Daniel
Geschrieben am: 07.12.2018 08:58:57

Hi

im Zählenwenn muss man zwei Bedingungen hinzunehmen:
1. Datum ist größer-gleich Startdatum
2. Datum ist kleiner gleich Enddatum

ZählenWenns(...;A:A;">="&Datum(Jahr;1;1);A:A;"<="&Datum(Jahr;12;31))
Gruß Daniel


  

Betrifft: AW: VBA - ZÄHLENWENN Jahr übereinstimmt
von: RK
Geschrieben am: 07.12.2018 09:35:59

Hallo Daniel,

herzlichen Dank, erscheint logisch, nur leider wird mir in den Zellen "FALSCH" ausgegeben.

Meine Zeile lautet nun wie folgt:
...FormulaLocal = "=ZÄHLENWENNS(D:D;""*" & Model & "*"";F:F;XFC2;E:E;" & Part & ";A:A;" >= " & Jahr(2015;1;1);A:A;" <= " & Jahr(2015;12;31))"

Auch mit dem englischen "Date" funktioniert es leider nicht.


  

Betrifft: AW: VBA - ZÄHLENWENN Jahr übereinstimmt
von: SF
Geschrieben am: 07.12.2018 09:46:19

Hola,

" >= " & Jahr(2015;1;1)
ist ja auch etwas völlig anderes wie:
">="&Datum(Jahr;1;1)
Gruß,
steve1da


  

Betrifft: AW: VBA - ZÄHLENWENN Jahr übereinstimmt
von: RK
Geschrieben am: 07.12.2018 10:18:21

Hola Steve,

ach Blödsinn. Ich habe es hier falsch geändert. Sry.
Die Zeile lautet

... .FormulaLocal = "=ZÄHLENWENNS(D:D;""*" & Model & "*"";
F:F;XFC2;E:E;" & Part & ";A:A;" >= " & Datum(2015;1;1);A:A;" <= " & Datum(2015;12;31))"
Es wird leider dennoch FALSCH ausgegeben.


  

Betrifft: AW: VBA - ZÄHLENWENN Jahr übereinstimmt
von: Daniel
Geschrieben am: 07.12.2018 10:28:21

Dinge, die du schon richtig gemacht hast, solltest du auch weiterhin beachten:
Anführungszeichen die Bestandteil der Formel sind, müssen immer verdoppelt werden.
Anführungszeichen die in VBA den Teiltext begrenzen, bleiben einfach.
Gruß Daniel


  

Betrifft: AW: VBA - ZÄHLENWENN Jahr übereinstimmt
von: RK
Geschrieben am: 07.12.2018 11:58:14

Es tut mir leid, auch nach mehrfachen Ändern finde ich den Fehler nicht.
Vermutlich bin ich schon "betriebsblind".


  

Betrifft: AW: VBA - ZÄHLENWENN Jahr übereinstimmt
von: Daniel
Geschrieben am: 07.12.2018 12:03:24

... .FormulaLocal = "=ZÄHLENWENNS(D:D;""*" & Model & "*"";F:F;XFC2;E:E;" & Part & ";A:A;"">=""&Datum(" & Y & ";1;1);A:A;""<=""& Datum(" & Y & ";12;31))"
Gruß Daniel


  

Betrifft: AW: VBA - ZÄHLENWENN Jahr übereinstimmt
von: RK
Geschrieben am: 07.12.2018 12:29:41

Oh man super.
Mir fehlte eine weitere Anführungszeichensetzung.
Hab vielen Dank!
Es funktioniert.

Gruß Romano