Date 宏从周日期范围字符串中提取日期,并添加7天以打印下一个日期范围
我正在写一个宏来处理一个包含大量数据的excel。其中一行包含一个日期范围,如wkstartdate-wkenddate,我想使用dateadd函数每周打印下一个日期范围(如下图中的'27-01-14-02-02-14'),但无法执行此操作。 '06-01-14-12-01-14' '13-01-14 - 19-01-14' “20-01-14-26-01-14” 我使用了下面的摘录,但没有成功:Date 宏从周日期范围字符串中提取日期,并添加7天以打印下一个日期范围,date,range,add,visual-studio-macros,Date,Range,Add,Visual Studio Macros,我正在写一个宏来处理一个包含大量数据的excel。其中一行包含一个日期范围,如wkstartdate-wkenddate,我想使用dateadd函数每周打印下一个日期范围(如下图中的'27-01-14-02-02-14'),但无法执行此操作。 '06-01-14-12-01-14' '13-01-14 - 19-01-14' “20-01-14-26-01-14” 我使用了下面的摘录,但没有成功: Range("E" & Lastrow).Select prwk = Split(Acti
Range("E" & Lastrow).Select
prwk = Split(ActiveCell.Value, "-")
'curr_wkstart = DateAdd("d", 7, prwk(1)) 'error as maybe prwk(1) isnt correct format
'curr_wkend = DateAdd("d", 7, prwk(2)) 'error
Range("E" & Lastrow + 1).Value = curr_wkstart & curr_wkend 'no result
出于测试目的,我打印了prwk(1),在上述情况下,prwk(1)是20/01/14,在一个不同的单元格中,并添加7天,这使我1/21/2020而不是'27/01/14'。我也尝试过使用Cdate函数,但仍然有错误
你能告诉我吗?我想你想在这里使用的是
格式
和日期序列
函数。以下是我是如何做到这一点的:
Function GetNextWeek(TheStartWeek)
a = Split(TheStartWeek, " - ")
b = Split(a(1), "-")
c = DateSerial(b(2), b(1), b(0)) + 1
d = c + 6
GetNextWeek = Format(c, "dd-mm-yy") & " - " & Format(d, "dd-mm-yy")
End Function
Sub Test()
Debug.Print GetNextWeek("13-01-14 - 19-01-14") 'Givs you "20-01-14 - 26-01-14"
End Sub
希望这有帮助。在定义c的第4行获取错误“下标超出范围错误”。请进一步建议。嗨,吉姆,太好了。。只需在第3行“b=Split(a(1),“/”)中输入一个拼写错误,现在就可以了。。谢谢:)