2017-01-13 64 views
-1

我想編寫代碼來清除其中有一個引號「作爲第一個字符B列任何單元格的內容任何幫助是極大的讚賞刪除單元格的內容 - VBA初學者

+1

所以,你在哪裏卡住了?請說明你做了什麼。 –

+0

使用'如果Instr(Cells(1,1),chr(34))= 1那麼Cells(1,1)=「」' – newguy

+1

或者在第一個字符上使用'Left'...提示:'If Left Rng.Value,1)= chr(34)'然後 –

回答

0

。試想一下:

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) 

有:

Set rng = Range("B:B").Cells.SpecialCells(xlCellTypeFormulas) 
+0

由於某種原因,當我運行它時,這並沒有改變任何東西。我試圖刪除的單元格中的文本以「但文本後面有文本」開始 –

+0

實際上這些單元格中有公式..這會有所作爲嗎?這些單元格中有CONCATENATE()函數.. –

+0

@RS見我的**編輯#1 ** –

相關問題