我正在处理一个宏,该宏负责复制和粘贴隐藏的工作表,在特定的单元格中输入月份和年份(基于上一个工作表中输入的值。我目前在作为该单元格的操作上遇到问题从(包含)一个月和一年中获取(读取)我的数据。到目前为止,我有这段代码(由stackoverflow的一位非常乐于助人的社区成员给我):
NextMonth = Format(DateSerial(Year(Date), Month(DateValue("1/" & Range("A1") & "/" & Year(Date))) + 1, 1), "mmmm")
如果A1仅包含一个月,则代码可以正常工作。尽管该单元格包含“ February 2019”,并将其与上面的公式一起使用以获取三月,但有什么想法可以读入,例如仅“ February”?有了它,我将把月份存储在变量“ A”中,并使用“ B = Year(Now())”将年份存储在另一个变量中。最后,我将其分配给所需的工作表上带有“ = A&B”的单元格
有什么想法吗? 问候, 亚历克斯
注意:对当前(实际)月份不感兴趣。另外,我有代码可以自动执行第一张工作表,其中代码要求用户输入月份和年份。
答案 0 :(得分:2)
以下代码允许:
1.月号
2.说明的月份
2.以上两点的组合
换句话说,代码将接受以下单元格值
Sub newmonth()
Dim datecell As Range
Dim d As Variant
Dim newdate As Date
Set datecell = Sheet1.Range("D21")
If IsDate(datecell) Then
d = datecell
Else
d = datecell & " " & Year(Now())
End If
newdate = DateAdd("m", 1, d)
Debug.Print Format(newdate, "mmmm yyyy")
'Alternatively, you could put this value in another cell
'Sheet2.Range("A1").Value = Format(newdate, "mmmm yyyy")
End Sub
确保对参考进行调整,以使其与您的工作簿配置匹配