Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 4609|回复: 8

SpecialCells(xlCellTypeBlanks)空行删除问题

[复制链接]
发表于 2019-8-16 16:23 | 显示全部楼层 |阅读模式
本帖最后由 chuxue 于 2019-8-16 16:49 编辑

Sheets("sheet2").Columns("d:d").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
删除某列空行此列数据是常规时,此列空数据所在行正常删除
但此列数据选为文本格式时,出现错误(因为证件号码设为常规受18位限制,所以设为文本)

请问此句代码该如何修改?

空行删除.rar (13.56 KB, 下载次数: 5)
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2019-8-16 16:33 | 显示全部楼层
我测试了没啥问题,文本也可以正常执行的。
或许不是这行代码的问题
回复

使用道具 举报

 楼主| 发表于 2019-8-16 16:45 | 显示全部楼层
hfwufanhf2006 发表于 2019-8-16 16:33
我测试了没啥问题,文本也可以正常执行的。
或许不是这行代码的问题

谢谢,请看下附件,sheet1是需要在sheet2删除的数字,相同的会在sheet2删除所在行

回复

使用道具 举报

 楼主| 发表于 2019-8-16 16:45 | 显示全部楼层
hfwufanhf2006 发表于 2019-8-16 16:33
我测试了没啥问题,文本也可以正常执行的。
或许不是这行代码的问题

谢谢,请看下附件,sheet1是需要在sheet2删除的数字,相同的会在sheet2删除所在行
回复

使用道具 举报

发表于 2019-8-16 17:15 | 显示全部楼层
chuxue 发表于 2019-8-16 16:45
谢谢,请看下附件,sheet1是需要在sheet2删除的数字,相同的会在sheet2删除所在行

我现在时间不够了,要下班了,没给你找到具体解决办法。但我知道问题出在哪:
1、你用数组填充了d列,填充的内容长度为零,但实际结果不是空,所以这行代码无法执行。可以这么检验:
    If IsEmpty(Cells(6, 4)) Then    '判断d6是否为空,如果是空,就在e6显示true
       Cells(6, 5) = True
    Else
       Cells(6, 5) = False
    End If

    上述结果为false
2、如果用len来判断,长度确实为零,我猜测里面存在某种看不见的控制符。
     你直接用delete键来删除这些空白单元格(只删1-2个来验证),再单独执行这行代码,被delete过的单元格是可以执行的,其他的就留下来了;
3、我也没找到如何避免这种错误的方法,我建议换种方式,用循环+rows(i).delete来处理,虽然代码长度增加了,不过可以应对”空”和“真空”的差别
回复

使用道具 举报

 楼主| 发表于 2019-8-16 17:58 | 显示全部楼层
hfwufanhf2006 发表于 2019-8-16 17:15
我现在时间不够了,要下班了,没给你找到具体解决办法。但我知道问题出在哪:
1、你用数组填充了d列,填 ...

谢谢,我按思路试试,暂时我是用如下方法应急
Dim i As Integer
For i = Sheet2.UsedRange.Rows.Count To 1 Step -1
If Len(Sheet2.Cells(i, 4)) = 0 Then
Sheet2.Rows(i).Delete
End If
Next i

回复

使用道具 举报

 楼主| 发表于 2019-8-17 11:29 | 显示全部楼层
hfwufanhf2006 发表于 2019-8-16 17:15
我现在时间不够了,要下班了,没给你找到具体解决办法。但我知道问题出在哪:
1、你用数组填充了d列,填 ...

应该是 If Dic.exists(Arr(k, 1)) Then Arr(k, 1) = ""得到的假空值
但此步如何将 Arr(k, 1) = ""假空值变为真空值,就解决了
回复

使用道具 举报

 楼主| 发表于 2019-8-22 15:56 | 显示全部楼层
如何将 Arr(k, 1) = ""假空值变为真空值?
回复

使用道具 举报

 楼主| 发表于 2019-8-28 15:58 | 显示全部楼层
其实解决也多不了几行代码,但还是想解决假空问题
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-3-28 18:59 , Processed in 0.313463 second(s), 11 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表