返回列表 上一主題 發帖

[發問] 請教刪除一整列問題

本帖最後由 GBKEE 於 2012-9-20 17:00 編輯

回復 1# xbzxbzxbz
  1. Option Explicit
  2. Sub Ex()
  3.     Dim R As Range, Rng As Range
  4.     For Each R In ActiveSheet.Range("J:N").SpecialCells(xlCellTypeConstants).Rows
  5.     'ActiveSheet(作用工作表) SpecialCells(xlCellTypeConstants "包含常數的儲存格")
  6.          If Not IsError(Application.Match(0, R, 0)) Then
  7.             '工作表函數Match 尋找到0 傳回數字,找不到0 傳回錯誤值 #N/A
  8.             If Rng Is Nothing Then Set Rng = R Else Set Rng = Union(R, Rng)
  9.             'Union 方法 傳回兩個或多個範圍的合併範圍。
  10.         End If
  11.    Next
  12.    If Not Rng Is Nothing Then Rng.EntireRow.Delete   '範圍整欄刪除
  13. End Sub
複製代碼

TOP

回復 4# xbzxbzxbz
請到工作表查看函數Match說明
Match_type    是個數字,其值有三種可能:-1、0 或 1。用以指定 Microsoft Excel 如何從 lookup_array 裡尋找 lookup_value。
如果 match_type 是 1,則 MATCH 函數會找到等於或僅次於 lookup_value 的值。Lookup_array 必須以遞增次序排列:...-2, -1, 0, 1, 2, ..., A-Z, FALSE, TRUE。
如果 match_type 是 0,則 MATCH 函數會找第一個完全等於 lookup_value 的比較值。Lookup_array 可以依任意次序排列。
如果 match_type 是 -1,則 MATCH 函數會找到等於或大於 lookup_value 的最小值。Lookup_array 必須以遞減次序排序:TRUE, FALSE, Z-A, ...2, 1, 0, -1, -2, ...,以此類推。
如果 match_type 引數被省略,則假設其值為 1。
  1. Option Explicit
  2. Sub Ex()
  3.     Dim R As Range, Rng As Range
  4.     For Each R In ActiveSheet.Range("J:N").SpecialCells(xlCellTypeConstants).Rows
  5.     'ActiveSheet(作用工作表) SpecialCells(xlCellTypeConstants "包含常數的儲存格")
  6.          If Not IsError(Application.Match(1800, R, -1)) Then
  7.             '工作表函數Match 尋找到0 傳回數字,找不到0 傳回錯誤值 #N/A
  8.             If Rng Is Nothing Then Set Rng = R Else Set Rng = Union(R, Rng)
  9.             'Union 方法 傳回兩個或多個範圍的合併範圍。
  10.         End If
  11.    Next
  12.    If Not Rng Is Nothing Then Rng.EntireRow.Delete   '範圍整欄刪除
  13. End Sub
複製代碼

TOP

        靜思自在 : 君子為目標,小人為目的。
返回列表 上一主題