[算表] 使用宏删除资料栏A为空白的整个资料列

楼主: jaycs (papa)   2023-05-10 12:10:02
软件:MS Excel
版本:2016
如题,想要删除资料栏 A 为空白的该资料列 (整列都要删除)
资料栏A 的列数不固定
透过网络找到两个宏
Sub DeleteBlankRows() '可删除整列空的资料列,确实可用
Dim rng As Range
Dim i As Long
Set rng = ActiveSheet.UsedRange
For i = rng.Rows.Count To 1 Step -1
If WorksheetFunction.CountA(rng.Rows(i)) = 0 Then
rng.Rows(i).EntireRow.Delete
End If
Next i
End Sub
Sub DeleteRowsWithBlankCellsInA() '这个还没试,因为它要事先设定范围
'据说特色是执行速度很快
'以下这两句要拼在同一行才是完整指令
Worksheets("Sheet1").Range("A17:A1000").
SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub
该如何修改才能达到我的目标:如果资料栏 A 为空白,则删除该资料列(一整列)
谢谢大家!
作者: cutekid (可爱小孩子)   2023-05-10 12:36:00
[a:a].SpecialCells(xlCellTypeBlanks).EntireRow.Delete
楼主: jaycs (papa)   2023-05-10 14:13:00
先谢谢c大,顺利执行完,但资料栏A仍有空白列,如图https://i.imgur.com/0pajnvF.png经过c大的提示,最后用以下两行程式码解决了问题:[a:a].AutoFilter Field:=1, Criteria1:="="[a:a].SpecialCells(xlCellTypeVisible).EntireRow.Delete多谢c大

Links booklink

Contact Us: admin [ a t ] ucptt.com