vba - 从 vba 中的周值获取月值
问题描述
我想从第几周获取月份值。
假设如果一个星期被两个月共享,那么我需要得到两个月
例如
当输入第 30 周时,结果应该是第 7 个月
如果第 31 周 - 这是一个共享周,它应该返回第 7 个月(2 天)和 8(3 天)
7 月 2 周,8 月 3 周
我尝试了对我没有用的 datepart 方法
dyWk = DatePart( "w", #07/31/2018# ) // Here date as input
解决方案
你的问题有点模棱两可,但这能满足你的需要吗?
week = 30
year_to_use = 2018
month_at_start_of_week = Month(DateAdd("ww", week - 1, DateSerial(year_to_use, 1, 1)))
month_at_end_of_week = Month(DateAdd("ww", week, DateSerial(year_to_use, 1, 1) - 1))
当周 = 30 时,您将获得:
month_at_start_of_week = 7
month_at_end_of_week = 7
当周 = 31 时,您会得到:
month_at_start_of_week = 7
month_at_end_of_week = 8
推荐阅读
- python - 无法使用 matplotlib 绘制图形
- ios - 未找到 React-native 0.57 ios 限制文件无法构建模块 CoreFoundation
- c++ - 是否实现定义了哪些算法可以接受可变 lambda?
- ruby - 我正在尝试从我创建的方法中减去 3 小时,但出现错误
- c - 当 if 语句为真时,如何告诉编译器在特定点重新执行代码
- php - Mandrill API - 表中每个循环的把手
- jquery - 使用 jQuery 访问嵌套元素
- php - 来自电子邮件和回复的 PHP mail() 添加服务器地址
- javascript - '。' 未被识别为内部或外部命令、可运行程序或批处理文件
- javascript - 带有数据表或 html 的数组值的辅助标头