基于第一个字符删除单元格内容-VBA初学者
我正在尝试编写代码,以清除B列中第一个字符为引号的任何单元格的内容。非常感谢您提供的任何帮助请考虑:基于第一个字符删除单元格内容-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
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)