【问题标题】:VBA finding "/" or "-" in a certain cellVBA 在某个单元格中找到“/”或“-”
【发布时间】:2022-07-02 23:54:24
【问题描述】:

我想编写一个代码来删除特定列中包含斜杠的行。例如,如果在 H 列中,第 7 行出现斜线,则删除第 7 行。在有空白单元格和有单词的情况下,我可以删除,但斜线部分不正确。

Rng.AutoFilter field:=8, Criteria1:="/"
Rng.Offset(1,0).SpecialCells(xlCellTypeVisible).EntireRow.Delete

ActiveSheet.AutoFilterMode = False

我尝试用“//”和“@/”代替“/”,但没有用。

我想做一个 if 语句,这样如果单元格中有一个包含数字和“-”的数字,则单元格值将被复制到另一个地方。我找不到在条件句中加入连字符的方法。

例如:12345-6789。

【问题讨论】:

  • 嗨。所述单元格中是否只有斜杠,或者所述单元格中的斜杠是否嵌入更长的文本中?
  • 对于第二个问题,您可能需要在循环中执行此操作或使用辅助列。
  • 斜线在一系列数字中
  • 同一列中可能包含哪些类型的其他值?您可能需要遍历这些值并检查每个单元格 - 自动过滤器对此不起作用。也许看看使用 RegEx - automateexcel.com/vba/regex

标签: excel vba slash hyphenation


【解决方案1】:

这对我有用:

Sub tester()
    With [A1].CurrentRegion
        .AutoFilter field:=8, Criteria1:="=*/*"
        On Error Resume Next 'in case no matches
        .Offset(1, 0).SpecialCells(xlCellTypeVisible).EntireRow.Delete
    On Error GoTo 0
    End With
    ActiveSheet.AutoFilterMode = False
End Sub

【讨论】:

  • 关于连字符的问题呢?
猜你喜欢
  • 2013-07-11
  • 1970-01-01
  • 1970-01-01
  • 2017-09-24
  • 2018-11-05
  • 2019-12-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多