删除空白列 发表评论 183A+所属分类:好好学习 遍历文件夹删除多个工作薄空白列: VBA: Sub 遍历文件夹删除空白列() f = Dir(ThisWorkbook.Path & "\*.xlsx") '搜索当前文件夹 Do While f > " " If f <> ThisWorkbook.Name Then '如果不是当前工作簿 Set wb = Workbooks.Open(ThisWorkbook.Path & "\" & f) '打开工作簿 For j = 1 To wb.Sheets.Count '循环工作表 With wb.Sheets(j) Dim i%, sh As Worksheet, n& For Each sh In Worksheets n = sh.[iv1].End(1).Column If n > 1 Then For i = n To 2 Step -1 '不能用For i = 2 To n,删除右列的不会影响左列,而且即使在循环里改变n,也不会中途影响到循环的控制变量n temp = sh.Cells(65536, i).End(xlUp).Row If temp = 1 Then sh.Cells(1, i).EntireColumn().Delete End If Next End If Next End With Next wb.Close 1 '关闭 Open 语句所打开的输入/输出 (I/O) 文件。 End If f = Dir Loop End Sub 仅删除当前工作表空白列: VBA: Sub 删除当前表空白列() Dim i%, sh As Worksheet, n& For Each sh In Worksheets n = sh.[iv1].End(1).Column If n > 1 Then For i = n To 2 Step -1 '不能用For i = 2 To n,删除右列的不会影响左列,而且即使在循环里改变n,也不会中途影响到循环的控制变量n temp = sh.Cells(65536, i).End(xlUp).Row If temp = 1 Then sh.Cells(1, i).EntireColumn().Delete End If Next End If Next End Sub 赞 0 酷 分享