這是一個冗長的查詢,因爲我包含失敗的代碼。宏不會刪除所有空白單元格
問題:當我完成將文本文件導入爲excel時,我的工作表包含一些「空白」單元。我已經在其他地方成功地使用了下面的代碼,但這次它不適合我。
Range("b1:AZ60").Select
Selection.SpecialCells(xlCellTypeBlanks).Select
Selection.Delete shift:=xlToLeft
我搜索了網頁,發現了一些建議的解決方案(如下)。我試過在上面的代碼之前運行下面4個代碼段的每一個,以清除所謂的空白單元格的內容,但到目前爲止沒有任何工作。
Number 1 -------------------------------------------- -------------
Set rng = Intersect(Selection, Selection.Parent.UsedRange)
For Each C In rng
If Trim(C) = "" Then
C.ClearContents
End If
Next C
我已經更換了微調以上c.value但沒有
If C.Value <> "" Then
2號-------- ------------------------------------------
For Each aCell In ActiveSheet.Cells.SpecialCells(xlCellTypeConstants)
If Not aCell.Value Like "*[! ]*" Then aCell.ClearContents
Next
Number 3 ------------------------------------------- ------
For Each C In rng
If IsEmpty(C) Then
C.Delete shift:=xlToLeft
Else
ActiveCell.Select
End If
Next C
4號----------------------------------- ---
最後我發現這個乾淨的功能,但這似乎並沒有伎倆。
Set rng = Intersect(Selection, Selection.Parent.UsedRange)
For Each C In rng
If Not IsError(C) Then
C.Value = MEGACLEAN(C)
End If
Next C
'
'
'
End Sub
-----------------------------------------
Function MEGACLEAN(varVal As Variant)
Dim NewVal As Variant
If IsMissing(varVal) Then Exit Function
NewVal = Trim(varVal) 'remove spaces
NewVal = Application.WorksheetFunction.Clean(NewVal) 'remove most unwanted characters
NewVal = Application.WorksheetFunction.Substitute(NewVal, Chr(127), "") 'remove
ASCII#127
NewVal = Application.WorksheetFunction.Substitute(NewVal, Chr(160), "") 'remove
ASCII#160
MEGACLEAN = NewVal
End Function
也許這是值得做的,我從導入的文本文件,但這些都沒有滿意的工作,因爲我仍然有一些空白單元格。任何幫助將非常感激!!
你可以發佈你的文本文件的樣本嗎? –
或包含「空白」單元格的excel文件的示例 – nutsch
或者您是否嘗試過進入任何空白單元格以查看導致它們顯示空白但不是的字符? –