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。
没有必要添加任何引用。