我希望在日期小于今天日期的列中复制/粘贴公式。
这超出了标准的范围,并替换了不匹配的标准以适应标准。
我有一个电子表格,里面有A1:I3的数据。第1行包含日期,第2和第3行包含公式。第1行的日期为03/01/22 - 03/09/22。
我的宏查找少于今天日期的任何日期&复制&将公式粘贴为值。这是可行的,但H& I、03/08/22和03/09/22中的日期已改为03/07/22。
Dim K As String
K = Date
MsgBox K
Dim i As Integer
For i = 1 To 9
If (Cells(1, i).Value < K) Then Cells(1, i).EntireColumn.Copy
Cells(1, i).PasteSpecial xlPasteValues
Next i
End Sub发布于 2022-03-08 21:52:43
您的逻辑只在复制时检查,而在粘贴时不检查。
Cells(1, i).PasteSpecial xlPasteValues这是针对每个i执行的,不管(Cells(1, i).Value < K)是True还是False。您需要使用多行If...End If语法。
If Cells(1, i).Value < K Then
Cells(1, i).EntireColumn.Copy
Cells(1, i).PasteSpecial xlPasteValues
End If不过,为了使这更好,避免使用日期的String表示,并绕过剪贴板:
If Cells(1, i).Value < Date Then
Columns(i).Value = Columns(i).Value
End Ifhttps://stackoverflow.com/questions/71401769
复制相似问题