返回列表 上一主題 發帖

[分享] usedrange

[分享] usedrange

Sub usedrange行列()
Dim Col_Count As Long
With ActiveSheet.UsedRange
For Col_Count = .Columns.Count To 1 Step -1
If WorksheetFunction.CountA(.Item(1).Resize(1, .Columns.Count)(Col_Count).EntireColumn) = 0 Then
.Item(1).Resize(1, .Columns.Count)(Col_Count).EntireColumn.Delete
End If
Next
End With
Dim Row_Count As Long
With ActiveSheet.UsedRange
For Row_Count = .Rows.Count To 1 Step -1
If WorksheetFunction.CountA(.Item(1).Resize(.Rows.Count, 1)(Row_Count).EntireRow) = 0 Then
.Item(1).Resize(.Rows.Count, 1)(Row_Count).EntireRow.Delete
End If
Next
End With
With ActiveSheet.UsedRange
MsgBox "已用的区域地址为:" & .Address & Chr(13) & "最大行为:" & .Rows.Count & Chr(13) & "最大列为:" & .Columns.Count _
& Chr(13) & "共有单元格数:" & .Cells.Count & Chr(13) & "第一行为:" & .Item(1, 1).Row & Chr(13) & "第一列为:" & .Item(1, 1).Column

End With
End Sub

大家再想想,还有什么忘掉的,因为usedrange非常特别
学习

当时是随想随写,with 与end with最后也没有合并
学习

TOP

当时是考虑如查区域中单元格为空,而有单元格式或其他影响usedrange的方面,所以有了上面的两个删除行与列的程序
学习

TOP

        靜思自在 : 能付出愛心就是福,能消除煩惱就是慧。
返回列表 上一主題