Excel精英培训网

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

[已解决]请大神看看这个程序错在哪儿了?

[复制链接]
发表于 2013-10-30 22:34 | 显示全部楼层 |阅读模式
本帖最后由 追梦人亮 于 2013-10-30 23:11 编辑

Sub DeleteColumns()                                                             '
Dim sh, Frng, rng, FoundRng, TempRng, arr, ac, RN                                      '
Set Frng = Application.InputBox("请选择要删除的字段所在的单元格,所有选择字段必须在同一行,可按住Ctrl选择多个字段", "删除列", , , , , , 8) '弹出对话框
If Frng Is Nothing Then Exit Sub
'记录初始信息
RN = Frng.Row
ReDim arr(1 To Frng.Count)
For Each rng In Frng
    i = i + 1
    arr(i) = rng
Next
'批量在工作表中查找并删除
For Each sh In ThisWorkbook.Sheets
    Set FoundRng = Nothing
    For Each ac In arr
        Set TempRng = sh.Rows(RN).Find(What:=ac, LookAt:=xlWhole)
        If Not TempRng Is Nothing Then
            If FoundRng Is Nothing Then
                Set FoundRng = TempRng
            Else
                Set FoundRng = Union(FoundRng, TempRng)
            End If
        End If
    Next
FoundRng.EntireColumn.Delete                                                                '
Next sh
End Sub
最佳答案
2013-10-30 22:42
FoundRng.EntireColumn.Delete  
改为
If Not FoundRng Is Nothing Then FoundRng.EntireColumn.Delete
发表于 2013-10-30 22:42 | 显示全部楼层    本楼为最佳答案   
FoundRng.EntireColumn.Delete  
改为
If Not FoundRng Is Nothing Then FoundRng.EntireColumn.Delete
回复

使用道具 举报

 楼主| 发表于 2013-10-30 23:14 | 显示全部楼层
hwc2ycy 发表于 2013-10-30 22:42
FoundRng.EntireColumn.Delete  
改为
If Not FoundRng Is Nothing Then FoundRng.EntireColumn.Delete

非常感谢哈,祝你天天开心!
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-25 00:59 , Processed in 0.369531 second(s), 8 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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