MM-DD-YYYY到星期几,分析连续工作日

我正在分析基于x连续工作日的数据,MF(稍后跳过选定的假期)。 我的计划是采取MM-DD-YYYY并确定一周中的哪一天。

我如何在VBA中做到这一点?

我发现使用.NET这个简单的方法,但我怎么从Office 2007 VBA调用,我需要添加什么参考?

DateTime.Parse(“2009-10-02”)。ToString(“D”,CultureInfo.CreateSpecificCulture(“zh”). NET从YYYY-MM-DD

为了完整性和帮助他人,这里是我的代码如何结束: 我怎么能干净地概括这个x天outlook

myDateStd = myDate If Right(Left(myDate, 2), 1) = "/" Then myDateStd = "0" & myDate 'IF M/*/YYYY If Len(myDateStd) = 9 Then myDateStd = Left(myDateStd, 3) & "0" & Right(myDateStd, 6) ' If MM/D/YYYY' fix dayNumber = Weekday(DateSerial(Right(myDateStd, 4), Left(myDateStd, 2), Mid(myDateStd, 4, 2)), vbMonday) Select Case dayNumber Case 1 To 3 workingDaysDelta = 3 Case 4 To 5 'ie its a Friday (or thur) so need to count Fri,S,S,M,T workingDaysDelta = 5 Case 6 To 7 ' its sat/sun workingDaysDelta = 4 Case Else MsgBox "ERROR date seams invalid, Date = " & myDateStd End Select 'Loop with If testing conditions including: CDate(wbAn.Cells(j, "E")) < (CDate(myDate) + dayNumber) 

以下任何一个应该工作

数字,例如2

 Weekday(DateSerial(Right(s, 4), Left(s, 2), Mid(s, 4, 2)), vbMonday) 

短string,例如“Tue”

 Format(DateSerial(Right(s, 4), Left(s, 2), Mid(s, 4, 2)), "ddd") 

长串,例如“星期二”

 Format(DateSerial(Right(s, 4), Left(s, 2), Mid(s, 4, 2)), "dddd") 

其中s是包含'MM-DD-YYYY'格式的date的string。

没有必要添加任何引用。