2014-10-02 29 views
0

我有這個宏其除去開頭和結尾的空格與文字或數字的單元格代碼:刪除沒有文字的細胞空間和數字

Sub LIMPIAR() 
Dim i As Integer 

For i = 2 To 20628 
Cells(i, 7).Value = Trim(Cells(i, 6).Value) 

Next 

End Sub 

不過,也有細胞,其內容是" "。所以我想將這種細胞轉換成""。我怎樣才能做到這一點?

編輯:我正在處理刮取的數據。

+0

'修剪'應該做你想做的。你確定那些沒有消失的空間是正常的空間而不是沒有破壞的空間嗎?另外,爲什麼要在單元格內容的末尾添加一個空字符串? – 2014-10-02 16:30:13

+0

我看到,修剪不適用於所有單元格。我正在處理刮取的數據。我真的不知道什麼是非破壞性空間,這可能是問題所在。 – CreamStat 2014-10-02 16:35:37

+0

在即時窗口中鍵入'Print Asc(<只有空格的單元格>)'並查看您得到的編號。如果它是160,修剪將不起作用。 – 2014-10-02 16:37:46

回答

1

也許跟他們打交道這樣可以幫助:

If Len(Cells(i,6).Value) <= 2 Then Cells(i, 7).Value = "" End If 

OR

If Cells(i,6).Value = " " Then Cells(i, 7).Value = "" End If 
1

不是一個非常elagent解決方案,但我會利用分割功能,然後reconcatenate元素的結果數組。假設你的字符串是在單元格A1,

mystring = "" 
myarray = Split(Cells(1, 1), " ") 
For i = LBound(myarray) To UBound(myarray) 
    If Trim(myarray(i)) <> "" Then 
    mystring = mystring & Trim(myarray(i)) & " " 
    End If 
Next i 
MsgBox Trim(mystring) 

了mystring應該提供一個字符串,字與字之間只有一個空間。您可以將此代碼放入循環中。