Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Date 宏从周日期范围字符串中提取日期,并添加7天以打印下一个日期范围_Date_Range_Add_Visual Studio Macros - Fatal编程技术网

Date 宏从周日期范围字符串中提取日期,并添加7天以打印下一个日期范围

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

我正在写一个宏来处理一个包含大量数据的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(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),“/”)中输入一个拼写错误,现在就可以了。。谢谢:)