Excel - 当我在同一单元格中输入月份中的某一天时,自动用特定的月份和年份填充单元格

Excel - Automatically fill cell with specific month and year when I type in the day of the month in the same cell

提问人:Joe. A 提问时间:9/13/2023 更新时间:9/13/2023 访问量:44

问:

当我输入日期并将单元格格式为 00/00/0000 时,我正在尝试在单元格中自动包含特定的月份和年份。有没有办法在VBA中实现这一点?

任何帮助将不胜感激。

我尝试过这样做,但它似乎没有选择包含月份和年份的日期单元格:

子 AddMonthYearToDate() 将 dateCell 调暗为范围 将 inputRange 调暗为范围 将 dateString 调暗为字符串 暗淡的月份作为字符串 昏暗的一年作为字符串 将 targetCell 调暗为范围

' Define the cell containing the month and year (change this to your actual cell)
Set dateCell = Range("G1")

' Define the range where you type the number (change this to your actual range)
Set inputRange = Range("L2:M100")

' Loop through each cell in the input range
For Each targetCell In inputRange
    ' Check if the input cell is not empty
    If targetCell.Value <> "" Then
        ' Extract the month and year from the date cell
        dateText = dateCell.Value
        
        ' Parse the month and year from the date text
        month = Split(dateText, " ")(1)
        year = Split(dateText, " ")(2)
        
        ' Create the final date string
        dateString = "01/" & Format(DateValue(month & " 1, " & year), "mm/yyyy") & "/" & targetCell.Value
        
        ' Check if the resulting date is valid
        If IsDate(dateString) Then
            ' Set the formatted date in the input cell
            targetCell.Value = Format(CDate(dateString), "dd/mm/yyyy")
        Else
            MsgBox "Invalid date. Please enter a valid number in the input cell.", vbExclamation
        End If
    End If
Next targetCell

结束副

Excel VBA 日期

评论

0赞 CDP1802 9/13/2023
如果格式化,则需要拆分 .Range("G1")00/00/0000/month = Split(dateText, "/")(1)
0赞 CLR 9/13/2023
观察:循环中的很多代码不需要,因为不会改变。dateCell
0赞 CLR 9/13/2023
你能截取你的工作表(或它的模型)并将其添加到你的问题中吗 - 以便我们更好地理解输入?
0赞 Joe. A 9/13/2023
LINK 斜体粗“代码”
0赞 Joe. A 9/13/2023
谢谢@CLR,我提供了链接。- 单元格 F1 是日期单元格,单元格 J2:L100 是我的输入范围

答: 暂无答案