删除基于前缀的列的内容

时间:2014-10-20 13:15:07

标签: excel vba excel-vba excel-2013

我有一个宏,它当前删除A列中的空白行,然后删除一些不必要的列E和G.报告已更改为我,现在列EI必须删除所有以“MX”开头的位置,并且太多了,无法一个一个地选择。我可以添加到当前宏中以删除所有以“MX”开头的位置吗?还有许多其他前缀,例如“US”“CA”,但我需要删除的是“MX”

以下是当前代码:

Sub Delete()

    Dim cRow As Long
        cRow = 3
    Do While (IsEmpty(Cells(cRow, 1)))
      cRow = cRow + 1
    Loop
    cRow = cRow - 1

    'Rows("3:" & cRow).Select
    Rows("3:" & cRow).Delete Shift:=xlUp
    Columns("E:E").Select
    Selection.Delete Shift:=xlToLeft
    Columns("G:G").Select
    Selection.Delete Shift:=xlToLeft

End Sub

1 个答案:

答案 0 :(得分:0)

你可以这样做,

Sub Delete()

    Dim cRow As Long
        cRow = 3
    Do While (IsEmpty(Cells(cRow, 1)))
      cRow = cRow + 1
    Loop
    cRow = cRow - 1
    if range("E" & cRow).value like "MX*" then 'OR left(range("E" & cRow).value, 2) = "MX"
       Rows("3:" & cRow).Delete Shift:=xlUp
       Columns("E:E").Select
       Selection.Delete Shift:=xlToLeft
    end if 

    Columns("G:G").Select
    Selection.Delete Shift:=xlToLeft

End Sub

不确定你是否还需要G。