首页 > 解决方案 > 将部分日期从字段 A 复制并替换到 B

问题描述

我需要一个简单的代码,它从固定(始终相同)字段(下面示例中的 B 26)获取日期并仅复制 MM.YYYY(从日期 19.09.2020 开始,我只需要 09.2020 的副本)和这个 MM.YYYY 插入进入日期字段 B2 并替换旧的 MM.YYYY。B2 的第 DD 天(示例中的第 1 天)应该保留。

示例:B26 -> 我需要 09.2020 的副本 B2 -> 01.08.2020 需要替换为 09.2020,结果应该是 01.09.2020。B3...B25 -> 从 B3 到 B25 的所有线都应该下注相同,B3 应该是 02.09.2020,B4 应该是 03.09.2020...</p>

在此处输入图像描述

我有一个可能是日期格式错误的问题。

Range("B26").Select
Selection.Copy
Range("B2").Select
ActiveSheet.Paste
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "8/1/2020"
Range("B2").Select
Selection.AutoFill Destination:=Range("B2:B25"), Type:=xlFillDefault
Range("B2:B25").Select

标签: excelvbadatereplacecopy

解决方案


循环遍历需要替换的每个单元格,并使用DateSerial 函数创建一个日期,该日期由 B26 的年月和循环中当前单元格的日期组成。

Dim Cell As Range
For Each Cell In Range("D2:D25")
    Cell.Value = DateSerial(Year(Range("B26").Value), Month(Range("B26").Value), Day(Cell.Value))
Next Cell

推荐阅读