基于第一个字符删除单元格内容-VBA初学者

基于第一个字符删除单元格内容-VBA初学者,vba,excel,Vba,Excel,我正在尝试编写代码,以清除B列中第一个字符为引号的任何单元格的内容。非常感谢您提供的任何帮助请考虑: Sub KlearUp() Dim rng As Range, r As Range, rKill As Range Set rng = Range("B:B").Cells.SpecialCells(xlCellTypeConstants) For Each r In rng If Left(r.Value, 1) = Chr(34) Then

我正在尝试编写代码,以清除B列中第一个字符为引号的任何单元格的内容。非常感谢您提供的任何帮助

请考虑:

Sub KlearUp()
    Dim rng As Range, r As Range, rKill As Range
    Set rng = Range("B:B").Cells.SpecialCells(xlCellTypeConstants)
    For Each r In rng
        If Left(r.Value, 1) = Chr(34) Then
            If rKill Is Nothing Then
                Set rKill = r
            Else
                Set rKill = Union(r, rKill)
            End If
        End If
    Next r

    If rKill Is Nothing Then
    Else
        rKill.Clear
    End If
End Sub
编辑#1:

如果单元格包含公式而不是常量,则替换:

Set rng = Range("B:B").Cells.SpecialCells(xlCellTypeConstants)
与:


那么你被困在哪里了?请说明你做了什么。使用
如果Instr(单元格(1,1),chr(34))=1,那么单元格(1,1)=''
或者在第一个字符上使用
Left
…提示:
如果Left(Rng.Value,1)=chr(34)
然后,由于某种原因,在我运行时,这不会改变任何内容。我试图删除的单元格中的文本以“开头,但后面有文本,例如“text”,实际上这些单元格中有公式。。这会有所不同吗?这些单元格中有CONCATENATE()函数。@RS请参见我的编辑#1
Set rng = Range("B:B").Cells.SpecialCells(xlCellTypeFormulas)