如何解决删除Excel VBA /宏中包含某些字符串的行
以下是我的代码的一部分。它们所有功能均正常运行,这使我可以在H列下的单元格包含“ CHARGES,BANK CHARGES,AMENDMENT CHARGES”时删除该行。但是,令我担心的是,当列H下的单元格包含“ XXX CHARGES”时,我想删除每一行。该代码现在看起来很愚蠢,因为可以有无数种收费方式(例如,银行收费,修改收费,xxx收费,yyy收费)。但是规则是“ CHARGES”之前必须有某些字符串。因此,我的问题是如何通过使用通配符(例如*)和公式(例如Left,Mid,Right)完善代码? 非常感谢您的帮助。
Dim c3 As Range,DeleteRange3 As Range,DataRange3 As Range
Dim LR3 As Long 'last row
Dim StartString3 As String
Dim StartString3b As String
Dim StartString3c As String
'change sheet name as required
With Worksheets("OutPayments")
'find last row in range
LR3 = .Cells(.Rows.Count,"H").End(xlUp).Row
'range you are searching
Set DataRange3 = .Range("H2:H" & LR3)
End With
StartString3 = "CHARGES"
StartString3b = "BANK CHARGES"
StartString3c = "AMENDMENT CHARGES"
DataRange3.EntireRow.Hidden = False
For Each c3 In DataRange3.Cells
If Right(c3.Value,7) = StartString3 Or Left(c3.Value,12) = StartString3b Or Left(c3.Value,17) = StartString3c Or Left(c3.Value,13) = "SWIFT CHARGES" Then
If DeleteRange3 Is Nothing Then
Set DeleteRange3 = c3
Else
Set DeleteRange3 = Union(DeleteRange3,c3)
End If
End If
Next c3
'delete all matched rows in one go
If Not DeleteRange3 Is Nothing Then DeleteRange3.EntireRow.Delete
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。