Microsoft Excel

Herbers Excel/VBA-Archiv

Kürzere Darstellung / Formel / VBA | Herbers Excel-Forum


Betrifft: Kürzere Darstellung / Formel / VBA von: A.C. Tischer
Geschrieben am: 26.01.2010 10:51:30

Hallo liebes Forum!

Ich habe nach einigen Recherchen mir folgende "Umsetzung" in VBA erarbeitet.
Sinn und Zweck ist es, eine Dienstplanerfassung mit variablen Diensten und Stunden zu realisieren.
Ich möchte dabei auf Formeln in Excel verzichten und alles mit VBA realisieren.
Zielzelle ist AK8.

Meine Frage nun, ob man die "ZÄHLENWENN-Funktion", die ich wie folgt nach VBA "übertragen" habe, auch kürzer darstellen kann???

Hier die Darstellung:
[AK8] = WorksheetFunction.CountIf([E8:AI8], "A") * 8 + WorksheetFunction.CountIf([E8:AI8], "F") * 7 + WorksheetFunction.CountIf([E8:AI8], "F6") * 7 + WorksheetFunction.CountIf([E8:AI8], "M") * 8.5 + WorksheetFunction.CountIf([E8:AI8], "MK") * 8 + WorksheetFunction.CountIf([E8:AI8], "A/S") * 8.5 + WorksheetFunction.CountIf([E8:AI8], "S") * 8 + WorksheetFunction.CountIf([E8:AI8], "N") * 10

Vielen Dank für Eure Hilfe

A.C. Tischer, Hamburg

  

Betrifft: mit With-Anweisung von: Tino
Geschrieben am: 26.01.2010 10:59:11

Hallo,
meinst Du mit kürzer so?

With Application.WorksheetFunction
[AK8] = .CountIf([E8:AI8], "A") * 8 + _
        .CountIf([E8:AI8], "F") * 7 + _
        .CountIf([E8:AI8], "F6") * 7 + _
        .CountIf([E8:AI8], "M") * 8.5 + _
        .CountIf([E8:AI8], "MK") * 8 + _
        .CountIf([E8:AI8], "A/S") * 8.5 + _
        .CountIf([E8:AI8], "S") * 8 + _
        .CountIf([E8:AI8], "N") * 10
End With
Gruß Tino


  

Betrifft: AW: mit With-Anweisung von: A.C. Tischer
Geschrieben am: 26.01.2010 11:07:04

Hallo Tino,

na klar.
An die Variante habe ich überhaupt nicht gedacht.
Vielen Dank, das verkürzt das ganze ungemein.

A.C. Tischer


Beiträge aus den Excel-Beispielen zum Thema "Kürzere Darstellung / Formel / VBA"