|
本帖最后由 追梦人亮 于 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
FoundRng.EntireColumn.Delete
改为
If Not FoundRng Is Nothing Then FoundRng.EntireColumn.Delete
|
|