首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >宏替换非匹配条件。

宏替换非匹配条件。
EN

Stack Overflow用户
提问于 2022-03-08 21:41:09
回答 1查看 56关注 0票数 0

我希望在日期小于今天日期的列中复制/粘贴公式。

这超出了标准的范围,并替换了不匹配的标准以适应标准。

我有一个电子表格,里面有A1:I3的数据。第1行包含日期,第2和第3行包含公式。第1行的日期为03/01/22 - 03/09/22。

我的宏查找少于今天日期的任何日期&复制&将公式粘贴为值。这是可行的,但H& I、03/08/22和03/09/22中的日期已改为03/07/22。

代码语言:javascript
运行
复制
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
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-03-08 21:52:43

您的逻辑只在复制时检查,而在粘贴时不检查。

代码语言:javascript
运行
复制
Cells(1, i).PasteSpecial xlPasteValues

这是针对每个i执行的,不管(Cells(1, i).Value < K)True还是False。您需要使用多行If...End If语法。

代码语言:javascript
运行
复制
If Cells(1, i).Value < K Then 
    Cells(1, i).EntireColumn.Copy
    Cells(1, i).PasteSpecial xlPasteValues
End If

不过,为了使这更好,避免使用日期的String表示,并绕过剪贴板:

代码语言:javascript
运行
复制
If Cells(1, i).Value < Date Then
    Columns(i).Value = Columns(i).Value
End If
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71401769

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档