这是一个冗长的查询,因为我包含失败的代码。宏不会删除所有空白单元格
问题:当我完成将文本文件导入为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
或者您是否尝试过进入任何空白单元格以查看导致它们显示空白但不是的字符? –