返回列表 上一主題 發帖

[發問] vba特定格式刪除

回復 3# man65boy

試試看
  1. Option Explicit
  2. Sub Ex()
  3.     Dim Rng(1 To 2) As Range, Sh As Worksheet
  4.     For Each Sh In Sheets  ' Sheets 物件: 活頁簿Sheet的物件集合
  5.         Set Rng(1) = Sh.Cells.Find(Sh.Range("a4"), Sh.Range("a4")) ' [物品編號 ]所在列:為所有工作表表單上的共通點
  6.         If Not Rng(1) Is Nothing Then '工作表上有尋找到 [物品編號 ]
  7.             Set Rng(2) = Nothing
  8.             Do
  9.                 If Rng(2) Is Nothing Then
  10.                     Set Rng(2) = Rng(1).Offset(-3).Resize(4).EntireRow     '[物品編號 ]所在列 ,往上4列儲存格的整列
  11.                 Else
  12.                     Set Rng(2) = Union(Rng(2), Rng(1).Offset(-3).Resize(4).EntireRow)  ''整合:[物品編號 ]所在列 ,往上4列儲存格的整列
  13.                 End If
  14.                 Set Rng(1) = Sh.Cells.FindNext(Rng(1))
  15.             Loop Until Rng(1).Address(0, 0) = "A4"
  16.             If Not Rng(2) Is Nothing Then Rng(2).Delete   '刪除
  17.         End If
  18.     Next
  19. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 11# c_c_lai
8#的程式碼 修改 搜尋完全一樣的字串
   
  1. Set Rng(1) = Sh.Cells.Find(Sh.Range("a4"), Sh.Range("a4"), LookAt:=xlWhole)
  2. ' 加上這參數 , XlLookAt 常數之一:xlWhole 或 xlPart。
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 14# man65boy
試試看
  1. Sub Ex()
  2.     Dim Sh As Worksheet, Rng As Range
  3.     On Error Resume Next  '程式有錯誤不理會,繼續執行下去
  4.     For Each Sh In Worksheets
  5.         Set Rng = Sh.UsedRange.Columns("I:I").Offset(4)  'Columns("I:I") 工作表資料的最後一欄 ,Offset(4) 資料第五列開始
  6.         Rng.MergeCells = False                                          '取消合併的儲存格
  7.         Rng.Value = Rng.Value                                         '儲存格的格式設為 數字
  8.         Set Rng = Union(Rng.SpecialCells(xlCellTypeBlanks), Rng.SpecialCells(xlCellTypeConstants, xlTextValues))
  9.          'xlCellTypeBlanks 空白的儲存格, SpecialCells(xlCellTypeConstants, xlTextValues)  '文字的儲存格
  10.          'UsedRange.Columns("I:I").Offset(4) 儲存格中 沒有 [空白的],[文字的] 程式會錯誤
  11.         If Err = 0 Then Rng.EntireRow.Delete
  12.         If Err > 0 Then Err.Clear
  13.     Next
  14. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

        靜思自在 : 站在半路,比走到目標更辛苦。
返回列表 上一主題