Excel VBA搜索和删除

时间:2013-09-20 21:58:11

标签: excel vba

所以我使用1dcutx程序,它可以发送带有信息的电子表格。目前我已删除一些单元格并将其移动然后重命名页面。有些东西会改变位置,就像每张电子表格都不一样。所以我需要的是一种搜索和删除该单元格的方法,在某些情况下也是一种左侧单元格。

实施例: 利用率,%:在一个单元格中 62.74就在旁边,但这个数额会发生变化。

所以我需要搜索和删除并让它选择左边的单元格并删除那个单元格。

这是我到目前为止所拥有的

Sub Macro1()
'
' Macro1 Macro
'

'
    Sheets("1D_report").Select
    Rows("3:9").Select
    Selection.Delete Shift:=xlUp
    Range("E1:F2").Select
    Selection.ClearContents
    Columns("H:H").Select
    Selection.ClearContents
    Sheets("1D_report").Select
    Sheets("1D_report").Name = "s_report"
End Sub

1 个答案:

答案 0 :(得分:2)

尝试一下:

Sub asdf()
    Dim r As Range
    Set r = Cells.Find(What:="Utilization, %", After:=Range("A1"))
    Range(r, r.Offset(0, 1)).Clear
End Sub

修改

如果要将单元格清除到找到的单元格的左侧,请使用:

偏移(0,-1)

而不是:

偏移(0,1)

<强> EDIT2:

我喜欢几个短宏而不是长宏 所以我会使用类似的东西:

Sub MAIN()
    Call Macro1
    Call asdf
End Sub

<强> EDIT3:

试试这个版本 - 你收到错误信息??

Sub asdf()
    Dim r As Range
    Dim s As String
    s = "Utilization, %"
    Set r = Cells.Find(What:=s, After:=Range("A1"))
    If r Is Nothing Then
        MsgBox s & " could not be found" & vbCrLf & "I'am going on break"
        Exit Sub
    End If
    Range(r, r.Offset(0, 1)).Clear
End Sub