Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1168to1172
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Nettoarbeitstage

Nettoarbeitstage
CK
Hallo,
ich möchte die Formel "Arbeitstag" sprachunabhängig einsetzen. Im Forum habe ich schon " _ Programmstücke" gefunden und die wie folgt angepaßt:

Public Function ArbeitstagKEC(Start As Variant, Paralleltage As Variant, Ferien As Range)
Application.Volatile
ExcelSprachversion = Worksheets("Team").Cells(1, 7)
Select Case ExcelSprachversion
Case Is = "deutsch"
ArbeitstagKEC = ARBEITSTAG(Start, Paralleltage, Ferien)
Case Is = "english"
ArbeitstagKEC = WORKDAY(Start, Paralleltage, Ferien)
Case Is = "italiano"
ArbeitstagKEC = GIORNO.LAVORATIVO(Start, Paralleltage, Ferien)"
Case Else
ArbeitstagKEC = "Fehler"
End Select
End Function

Beim Aufruf der Funktion kommt die Fehlermeldung, dass das Sub ARBEITSTAG(Start, Paralleltage, Ferien) nicht definiert wäre. Die VBA-Analysefunktionen sind definitiv aktiviert. (wenn ich sie in einer Zelle direkt benutze klappts problemlos...)
Kann mir einer sagen woran es liegt?
Danke

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Nettoarbeitstage
23.07.2010 14:30:00
CK
Hallo,
einfach genial, Danke, habe es noch etwas angepaßt und gleich sowohl Arbeitstag (13) und Nettoarbeitstage (11) von der Seite genommen.
Vielen Dank!!!!!!!
CK
AW: Nettoarbeitstage
23.07.2010 14:20:34
Tino
Hallo,
ich möchte die Formel "Arbeitstag" sprachunabhängig einsetzen
Soweit ich es kenne, wird dies von Excel selbst Überstezt.
Da ich mir nicht 100% sicher bin, hätte es so gelöst.
Public Function ArbeitstagKEC(Start As Variant, Paralleltage As Variant, Optional Ferien As Range)

On Error Resume Next
If Not Ferien Is Nothing Then
    ArbeitstagKEC = _
    Application.WorksheetFunction.WorkDay(Start, Paralleltage, Ferien)
Else
    ArbeitstagKEC = _
    Application.WorksheetFunction.WorkDay(Start, Paralleltage)
End If

If ArbeitstagKEC = Empty Then
    ArbeitstagKEC = "Fehler"
End If
End Function
Gruß Tino
Anzeige
AW: Nettoarbeitstage
23.07.2010 14:22:00
JogyB
Hallo.
Zuerst einmal muss im VBA Projekt noch der korrekte Verweis (atpvbade.xla für deutsch, atpvbaen.xla für englisch etc.) gesetzt werden, dass das AddIn vorhanden ist bringt nichts.
Dein Code kann nun überhaupt nicht gehen. Wenn es so ist wie mit Excel-Funktionen ist, dass diese in VBA immer mit englischen Namen angesprochen werden, dann muss der Befehl immer WORKDAY lauten.
Sind die tatsächlich auch in VBA lokalisiert (kann das hier nicht testen, habe das englische AddIn), dann kann der Code auch nicht gehen, da immer nur der Befehl aus dem entsprechenden AddIn vorhanden ist und der Debugger die restlichen Befehle nicht erkennt.
Was Du mal probieren könntest wäre
ArbeitstagKEC = Evaluate("Workday(""" & CStr(Start) & """," & Paralleltage & "," & Ferien.Address(, , , True) & ")")
Das geht auch ohne Verweis im VBA-Projekt.
Gruß, Jogy
Anzeige
AW: Nettoarbeitstage
24.07.2010 16:20:03
Wilfried
Hallo!
Passt das so?
Tabelle3
 ABCDEFGHIJ
2Nettoarbeitstage ohne Sa, So, und Feiertage                 
3                   
4                   
5                WievieleWieviele
6    oh.Sa,So GesamttageFreie Tageoh Sa,SoWievieleWievieleFeiertageFeiertage an
7    oh Feiertage      SaSogesamtWerktage
8                   
9                   
1001.05.201031.08.2010841233987181863

verwendete Formeln
Zelle Formel Bereich
C10 =SUMMENPRODUKT((WOCHENTAG(ZEILE(INDIREKT(A10&":"&B10));2)<6)*1)-SUMMENPRODUKT((Feiertage>=A10)*(Feiertage<=B10)*(WOCHENTAG(Feiertage;2)<6)) 
D10 =B10-A10+1 
E10 =D10-C10 
F10 =SUMMENPRODUKT((WOCHENTAG(ZEILE(INDIREKT(A10&":"&B10));2)<6)*1) 
G10 =SUMMENPRODUKT(--(WOCHENTAG(ZEILE(INDIREKT(A10&":"&B10));2)=6)) 
H10 =SUMMENPRODUKT(--(WOCHENTAG(ZEILE(INDIREKT(A10&":"&B10));2)=7)) 
I10 =SUMMENPRODUKT((Feiertage>=A10)*(Feiertage<=B10)) 
J10 =F10-C10 

definierte Namen
Name Bezieht sich auf Tabelle Z1S1-Formel
Feiertage=Tabelle1!$A$5:$A$20 =Tabelle1!Z5S1:Z20S1

Tabellendarstellung in Foren Version 5.27


Gruß
Wilfried
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige