返回列表 上一主題 發帖

[發問] VBA刪除空白ROW COLUMN

回復 1# missbb
是這樣嗎?
****最後有資料的列位,其實不是最後有使用過的列位***(UsedRange)
  1. Option Explicit
  2. Sub Ex()
  3.     If Cells.SpecialCells(xlCellTypeLastCell).Row <> [E1].End(xlDown).Row Then
  4.         Rows([E1].End(xlDown).Row + 1 & ":" & Cells.SpecialCells(xlCellTypeLastCell).Row).Delete
  5.     End If
  6. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

本帖最後由 GBKEE 於 2018-6-2 17:57 編輯

回復 4# Kubi
補上完整程式後
UsedRange會是在最後儲存格有資料的範圍內
  1. Option Explicit
  2. Sub Ex()
  3.     Dim R(1 To 2), C(1 To 2) As Long, Rng As Range
  4.     Debug.Print  ActiveSheet.UsedRange.Address
  5.     If Application.CountA(Cells) = 0 Then Exit Sub
  6.     Set Rng = Cells.SpecialCells(xlCellTypeConstants)
  7.     Set Rng = Rng.Areas(Rng.Areas.Count)
  8.     Set Rng = Rng.Cells(Rng.Cells.Count)
  9.     With Rng
  10.         R(1) = .Row
  11.         C(1) = .Column
  12.     End With
  13.     With Cells.SpecialCells(xlCellTypeLastCell)
  14.         R(2) = .Row
  15.         C(2) = .Column
  16.     End With
  17.     If R(1) <> R(2) Then Rows(R(1) + 1 & ":" & R(2)).Delete
  18.     If C(1) <> C(2) And C(1) + 1 = C(2) Then Range(Columns(C(1) + 1), Columns(C(2))).Delete
  19.     ActiveSheet.Parent.Save
  20.     Debug.Print  ActiveSheet.UsedRange.Address
  21. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

        靜思自在 : 好事要提得起,是非要放得下,成就別人即是成就自己。
返回列表 上一主題