2015-04-24 26 views
2

VBA清理CELL中的字符,此腳本旨在通過打開工作簿中的所有工作表並刪除特殊字符(因此我可以將CELL重命名爲TAB)但是,清理腳本運行的頁面。VBA清理CELL中的字符

Sub CleanChar() 
Dim ws As Worksheet 
Dim myString As String 
Dim newString As String 

For Each ws In Worksheets 
    With ws 
     myString = Range("A1").Value 
     newString = Replace(Replace(myString, ":", ""), """", "") 
     Range("A1").Offset().Value = newString 
    End With 
Next ws 

End Sub 
+1

嘗試參照WS完全限定的範圍內,所以ws.Range( 「A1」)的價值,而不是僅僅範圍( 「A1」)的價值。 – spojam

回答

1

我認爲這個問題可能是你缺乏一個.Range對象的前面。您聲明With ws但實際上並沒有使用ws,因此您的Range對象僅指一個工作表。

試試這個稍微修改代碼:

Sub CleanChar() 

    Dim ws As Worksheet 
    Dim myString As String 
    Dim newString As String 

    For Each ws In Worksheets 
     With ws 
      myString = .Range("A1").Value 
      newString = Replace(Replace(myString, ":", ""), """", "") 
      .Range("A1").Offset().Value = newString 
     End With 
    Next ws 

End Sub