Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/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
Excel 有没有一种方法可以使用VBA将给定的一个月拆分为4周?_Excel_Vba - Fatal编程技术网

Excel 有没有一种方法可以使用VBA将给定的一个月拆分为4周?

Excel 有没有一种方法可以使用VBA将给定的一个月拆分为4周?,excel,vba,Excel,Vba,我想有几个功能,分割成4或5个星期一个月。假设我从一个组合框中选择August,代码看起来像这样,startWeek和endWeek会自动预填充。我在下面开始了一些代码: 1周 public function Week1(byVal monthFromComboBox as date) dim startWeek1 as date,endWeek1 startWeek1 = "08/01/2019" 'this date should be automatically generated e

我想有几个功能,分割成4或5个星期一个月。假设我从一个组合框中选择August,代码看起来像这样,startWeek和endWeek会自动预填充。我在下面开始了一些代码:

1周

public function Week1(byVal monthFromComboBox as date)
dim startWeek1 as date,endWeek1 

startWeek1 = "08/01/2019" 'this date should be automatically generated
endWeek1 = "08/03/2019"   'this date should be automatically generated

Week1= Application.WorksheetFunction.CountIfs(rng, ">=" _ 
startWeek1, _
rng, "<=" & endWeek1) 'week1

Exit Function
End Function
Ex:8月分为几周


从技术上讲,这将是2019年第31-35周。对于第一周,您可以使用:

startWeek1 = DateSerial(Year(monthFromComboBox), Month(monthFromComboBox), 1)
endWeek1 = DateAdd("d", (7 - Weekday(startWeek1)), startWeek1)
对于week2,3,4,您可以在提到的2行之后添加以下代码),其中n是周数:

startWeek2 = DateAdd("d", 1+7*(n-2), endWeek1)
endWeek2 = DateAdd("d", 7*(n-1), endWeek1)

对于第1周,您可以使用:

startWeek1 = DateSerial(Year(monthFromComboBox), Month(monthFromComboBox), 1)
endWeek1 = DateAdd("d", (7 - Weekday(startWeek1)), startWeek1)
对于week2,3,4,您可以在提到的2行之后添加以下代码),其中n是周数:

startWeek2 = DateAdd("d", 1+7*(n-2), endWeek1)
endWeek2 = DateAdd("d", 7*(n-1), endWeek1)


按7天分段还是按周一到周日分段?如果后者在本月初的星期一之前的日期被打包到上个月的第五周?一周如何从1日开始到3日结束?也许您需要指定您希望如何分解周数?@Enigmativity这些日期是第1周August@dan我希望一个月的几个星期都能结束,从周一开始也许你可以告诉我们这里的最终目标。为什么你需要将一个月准确地划分为几个星期?按照7天的时间段或从周一到周日的时间段进行划分?如果后者在本月初的星期一之前的日期被打包到上个月的第五周?一周如何从1日开始到3日结束?也许您需要指定您希望如何分解周数?@Enigmativity这些日期是第1周August@dan我希望一个月的几个星期都能结束,从周一开始也许你可以告诉我们这里的最终目标。为什么需要将月份准确地划分为周?@ctec6,不幸的是,这会引发运行时5、无效的调用过程或参数DateAdd函数中出现错误。。。我已经改正了。。。如果不起作用,告诉我们错误在哪一行happening@ctec6所以第一部分很好,第二部分是红色的,不确定格式哪里不对,我做了一个小的修改,以防这是问题。。。7号和7号之间少了一个(@ctec6 brilliant!这正是我要找的!谢谢!@ctec6,不幸的是,这抛出了一个
运行时5,无效的调用过程或参数
DateAdd函数中有一个错误…我已经纠正了它…如果它不起作用,请告诉我们错误在哪一行happening@ctec6所以第一部分很好,第二部分很好rt是红色的,不确定格式哪里错了我做了一个小修改以防出现问题…7和(@ctec6 brilliant!这正是我要找的!谢谢!