vba,今天的日期,现在的功能,宏变量

时间:2016-06-09 21:19:56

标签: vba function date macros

我目前有一个变量的输入框,每个月都会变化:

r_mo = Application.InputBox(prompt:=“将报告月份输入为YYYYMM(例如:201604)。此条目中的错误将导致结果出错。”)

这会提示输入框,必须手动输入...但是,我想自动执行此过程并消除对输入框的需要。在vba中是不是现在会自动生成今天的日期。

从现在或系统功能开始,我想要的是以四位数字提取年份,以两位数提取月份。

所以,例如,如果我们在2016年的decemeber

Sub asasdas()

“现在功能”   r_mo = YYYYMM'自动从“现在的功能”

更新

End Sub

感谢您给予我的任何帮助,非常感谢您。

3 个答案:

答案 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