提问人:STengineer 提问时间:11/10/2023 更新时间:11/10/2023 访问量:4
根据条件清除内容的VBA代码
VBA Code to Clear Contents Based on Criteria
问:
我需要自动清除ERP程序输出中粘贴数据中的错误。粘贴的数据范围是从 A 列到 M 列,但 N 列用于通过“DATEVALUE”命令将 K 列中基于文本的日期条目(条件格式不可用)转换为可用日期。整个数据集的长度超过 3,000 行。
我还在 P 列中添加了一个命令 [IF(ISERROR...)],以创建用于识别错误的替代方法。下面的代码未使用此方法,但在节标题中引用了此方法。
重要提示:我需要在粘贴数据(因此称为子Worksheet_Change)或用户单击其他相邻选项卡(以单独的分组报告数据)时自动启动此代码。
这是我一直在尝试调试的VBA代码...
Private Sub Worksheet_Change(ByVal 目标作为范围) 调暗为变体 昏暗 i As Long
'ASSIGN THE NUMBER OF FILLED ROWS IN COLUMN 'A' TO VARIABLE "n"
n = Range("B2").Value
'MsgBox "n = " & n
'FOR / NEXT loop to locate "TRUE" in column P and Clear Contents of the cell in column K of that row
'i.e.: CLEAR CONTENTS OF 'TXTEXT' CELLS THAT RESULT IN "#VALUE!" IN "CERT DATE" COLUMN
For i = 202 To (202 + n - 3109) 'for rows 202 to 209
'Cells("K", i).Value = WorksheetFunction.IfError(Cells("K", i).ClearContents) (UNUSED LINE)
'If Sheet1.Range("N" & i) <> "Open" Then (UNUSED LINE)
Range("K" & i).ClearContents
If Application.WorksheetFunction.IsError("N" & i) Then Range("K" & i).ClearContents
MsgBox "i = " & i
End If
MsgBox "The last i = " & i
Next i
结束副
感谢所有评论此内容的人。
斯蒂芬
我应该解释一下,K列包含大部分好的日期,但一些空白单元格包含ERP软件的错误。
我期望代码能够获取最大数量的行(已存在于单元格 B2 中),并在 For/Next 循环中使用它来测试 K 列的条目是否存在错误。如果在 K 列中识别出错误,则代码通过 If...IsError,将清除同一行 K 列中单元格的内容。删除 K 列中的错误将改进直接从此“数据选项卡”中提取数据的分组选项卡的功能。
答: 暂无答案
下一个:如何检查多个条件
评论