|
|
假空单元格变真空单元格的探讨
从别的数据处理软件里面导出的数据,有时往往有假空单元格的问题,给进一步处理数据带来不必要的麻烦,这个问题在论坛里面有很多建议和处理方法,笔者搜集了部分内容,整理如下,供大家参考。
空单元格分真空单元格和假空单元格。
真空单元格是无字符,单元格中没有内容,type类型是1;假空单元格是里面有看不见字符,type类型是2。用定位空值的方法,不能定位假空单元格。
假空单元格变真空单元格的方法
1、自动筛选或高级筛选
自动筛选选择空白(自动筛选里面是不管真假空单元格,只要单元格在编辑栏那里显示无字符即空白)即可,适应一列的情况。
缺陷:操作步骤很多。
高级筛选,则条件是="",虽然写完后看不到表达式,因为只要写了=号,软件自动把它作为公式处理了,适应多列情况。
缺陷:操作步骤很多。
这样真假空单元格都筛选出来了,选定这些筛选出来的真假空单元格区域→alt+;(即选定可见单元格区域快捷键)→清除内容,全部变成真空单元格。
2.记事本方法(最简单)
粘贴到记事本,再粘贴回来。
也可用《看见星光》大师的方法更简捷。
复制有假空单元格的单元格区域→开始组(这里是指2010版本方法)里面点击剪贴板右角那个斜箭头→出现左侧栏,假设有多个粘贴内容在剪贴板,点击里面那个有假空单元格问题的内容,一般在第一项,因为它是先复制粘贴的内容项目放在最下面,后来的依次放到其上面。这个方法实际就是记事本方法,只不过它没有粘贴到记事本,再粘贴过来,因为剪贴板那里就是记事本格式。
缺陷:原来的公式会全部丢失,等于改变了原来的内容,有公式的情况下,会改变成公式的结果值。
3.分列
选常规即可,比自动筛选更简捷,少了许多步骤。
缺陷:要一列一列处理。
4.用查找的方法定位真假空单元格
查找字符char(13),这个字符无法输入,在查找栏里面按Alt+13(小键盘中的数字)快捷键实现,按下快捷键后,查找栏里面是看不到char(13)这个字符的,然后点击“查找全部”,按住shift键选定对话框里面的区域显示结果后,或按Ctlr+A选择全部结果,这个结果相当于选择全部空白单元格(包含真假空单元格),delete即可全部变成真空单元格。
如果是alt+enter产生的回车符号,则要用Alt+10
这是比较全面的方法,即不繁琐又不改变原内容。
5.用宏。
Private Sub CommandButton1_Click()
Dim c As Range, UnRng As Range
With UsedRange
Set c = .Find("", LookIn:=xlValues, lookat:=1)
If Not c Is Nothing Then
firstAddress = c.Address
Do
If UnRng Is Nothing Then
Set UnRng = c
Else
Set UnRng = Union(UnRng, c)
End If
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstAddress
End If
End With
If Not UnRng Is Nothing Then
UnRng.ClearContents
End If
End Sub
|
|