在Excel中使用VBA编写宏

4

我已经使用了这段代码:year() 来获取当前年份。 但是,我只想要获取年份的最后两位数字。 例如,从今天的日期01/19/2017中,我希望能够提取并显示一个包含'17'的消息框。 我该如何在Excel的VBA宏中编写这段代码呢?

1个回答

5
试试这个: MsgBox Format(Date, "yy") 它可以显示当前年份的后两位数字。

公共函数 ISOweeknum(ByVal v_Date As Date) As Integer ISOweeknum = DatePart("ww", v_Date - Weekday(v_Date, 2) + 4, 2, 2) End Function 私有子 CommandButton1_Click() Dim dt As Date Dim wno As Integer dt = Date Debug.Print dt wno = ISOweeknum(dt) MsgBox Format(dt, "yy") & wno End Sub - Olivia
这是我正在尝试的代码,但问题是今天的周数是“3”,我希望它显示为“W1703.4”。当周数为个位数时,如何在周数前面添加零?最后一位数字“4”代表星期四,而最后一位数字每天都会更改,例如星期一是“1”等等。因此,如何编写代码来提取“W1703.4”? - Olivia
MsgBox "W" & Format(dt, "yy") & Format(wno, "00.") & Weekday(dt, vbMonday) - Fadi
非常感谢! - Olivia
1
@Pooja 到目前为止,您从未接受过任何答案。当一个答案解决了您的问题时,请考虑点击答案左上方的灰色复选标记,将其变为绿色以接受它。 - A.S.H

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接