Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1060to1064
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

Datumsdifferenz ohne Samstag und Sonntag

Datumsdifferenz ohne Samstag und Sonntag
14.03.2009 15:32:37
dirt
Hallo @ all,
mein Problem ist: Ich möchte eine Datumsdifferenz in einer Excel-Tabelle machen. Das müsste in VBA gemacht werden und nicht über eine Formel in Excel.
Ich hab mir jetzt ein einige Bsp angeschaut aber leider nicht wirklich fündig geworden. Es soll eingentlich ganz Simpel ein Datum von dem anderen Datum abgezogen werden, dies aber ohne Samstag und Sonntag und anschließend in eine Zelle geschrieben werden. Ist das Möglich?
Die Formel die ich momentan hab macht das nicht:
Range("S5") = Range("O5") - Range("D5")
Wie erwähnt möchte ich es in VBA haben und nicht z.B. über die NETTOARBEITSTAGE() Formel.

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datumsdifferenz ohne Samstag und Sonntag
14.03.2009 15:39:12
Josef
Hallo schmutz,
warum VBA, das geht doch einfach so.
Tabelle3

 ABC
1Datum 101.03.2009 
2Datum 214.03.2009 
3Tage ohne WE10 
4   

Formeln der Tabelle
ZelleFormel
B3=SUMMENPRODUKT((WOCHENTAG(ZEILE(INDIREKT(B1&":"&B2)); 2)<6)*1)


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Gruß Sepp

Anzeige
AW: Datumsdifferenz ohne Samstag und Sonntag
14.03.2009 15:51:41
dirt
Servus Sepp,
sollte VBA sein da... ich eine komplette Arbeitsoberfläche gebastelt hab usw. und da hätte ich das gerne integriert! Danke
Gruß Markus
AW: Datumsdifferenz ohne Samstag und Sonntag
14.03.2009 15:43:30
Tino
Hallo,
meinst Du so?
Sub Test() Dim A As Long, LCounter As Long Dim DatumVon As Date, DatumBis As Date DatumVon = "05.03.2009" DatumBis = "20.03.2009" 'Werktage inklusive DatumVon, sonst A = 1 To .... For A = 0 To DatumBis - DatumVon If Not Weekday(DatumVon + A, 2) > 5 Then LCounter = LCounter + 1 End If Next A MsgBox "vom " & DatumVon & " bis " & DatumBis & Chr(13) & "liegen " & LCounter & " Werktage" End Sub


Gruß Tino

Anzeige
AW: Datumsdifferenz ohne Samstag und Sonntag
14.03.2009 15:53:00
dirt
Wow,
vielen Dank! Tino ftw =)!
Gruß dirt
ohne Schleife
14.03.2009 15:54:35
Josef
Hallo nochmal,
' **********************************************************************
' Modul: Tabelle3 Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Address(0, 0) = "B1" Or Target.Address(0, 0) = "B2" Then
    Range("B4") = Evaluate("SUMPRODUCT((WEEKDAY(ROW(" & Clng(Range("B1")) & ":" & Clng(Range("B2")) & "),2)<6)*1)")
  End If
End Sub

Gruß Sepp

Anzeige
AW: ohne Schleife
14.03.2009 16:15:51
dirt
Hy Sepp,
ist fast noch geschickter! =) Jetzt hab ich aber zwei verschiedene Methodern um dies zu berechnen.
Vielen Dank für eure Mühe.
Gruß dirt
Schleife ist schneller ;-)
14.03.2009 16:27:48
Tino
Hallo,
wollte es jetzt auch nicht glauben, aber die Schleife ist schneller.
Sub TestMitSchleife()
Dim A As Long, LCounter As Long
Dim DatumVon As Date, DatumBis As Date
Dim i As Single

i = Timer
DatumVon = "01.01.2000"
DatumBis = "31.12.2050"

'Werktage inklusive DatumVon, sonst A = 1 To .... 
For A = 0 To DatumBis - DatumVon
 If Not Weekday(DatumVon + A, 2) > 5 Then
  LCounter = LCounter + 1
 End If
Next A

Debug.Print Timer - i, "mit Schleife"
End Sub



Sub Test2OhneSchleife()
Dim LCounter As Long
Dim DatumVon As Date, DatumBis As Date
Dim i As Single
i = Timer

DatumVon = "01.01.2000"
DatumBis = "31.12.2050"
LCounter = Evaluate("SUMPRODUCT((WEEKDAY(ROW(" & CLng(DatumVon) & ":" & CLng(DatumBis) & "),2)<6)*1)")

Debug.Print Timer - i, "ohne Schleife"
End Sub


Gruß Tino

Anzeige
schön für dich! o.T.
14.03.2009 16:29:21
Josef
Gruß Sepp

wieso für mich? ich brauche es nicht! oT.
14.03.2009 16:35:30
Tino

309 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige