我目前有一个变量的输入框,每个月都会变化:
r_mo = Application.InputBox(prompt:=“将报告月份输入为YYYYMM(例如:201604)。此条目中的错误将导致结果出错。”)
这会提示输入框,必须手动输入...但是,我想自动执行此过程并消除对输入框的需要。在vba中是不是现在会自动生成今天的日期。
从现在或系统功能开始,我想要的是以四位数字提取年份,以两位数提取月份。
所以,例如,如果我们在2016年的decemeber
Sub asasdas()
“现在功能” r_mo = YYYYMM'自动从“现在的功能”
更新End Sub
感谢您给予我的任何帮助,非常感谢您。
答案 0 :(得分:2)
Sub GetMonthYear
GetMonthYear = Year(Now) & Right("00" & Month(Now), 2)
End Sub
那就行了。返回Now()
的Year部分,并将其连接到Now()
的Month部分。由于Month将返回1月到9月的单个数字,我们通过在月份中添加“00”并从Right
中取最后两个字符来包装它。对于“9”,我们创建“009”并将最后两个字符设为“09”。对于“10”,我们将创建“0010”并将最后两个字符设为“10”。
答案 1 :(得分:0)
Sub GetYearMonthDay()
将 GetYearMonthDay 变暗为字符串
GetYearMonthDay = Year(Now) & "-" & Right("00" & Month(Now), 2) & "-" & Right("00" & Day(Now), 2)
MsgBox GetYearMonthDay
结束子
答案 2 :(得分:0)
请参考我下面给出的答案
Sub UsingTheDateFunction()
'this is the standard 6/3/2021 format
Dim theDate As Date
theDate = Date
MsgBox theDate
End Sub