標題:
[發問]
請教刪除一整列問題
[打印本頁]
作者:
xbzxbzxbz
時間:
2012-9-20 13:18
標題:
請教刪除一整列問題
各位大大您好
附件中,如果我N行的任一個儲存格是0的話
就把0所在的那一列整列刪除
我應該要怎麼下指令
感謝您
作者:
GBKEE
時間:
2012-9-20 16:57
本帖最後由 GBKEE 於 2012-9-20 17:00 編輯
回復
1#
xbzxbzxbz
Option Explicit
Sub Ex()
Dim R As Range, Rng As Range
For Each R In ActiveSheet.Range("J:N").SpecialCells(xlCellTypeConstants).Rows
'ActiveSheet(作用工作表) SpecialCells(xlCellTypeConstants "包含常數的儲存格")
If Not IsError(Application.Match(0, R, 0)) Then
'工作表函數Match 尋找到0 傳回數字,找不到0 傳回錯誤值 #N/A
If Rng Is Nothing Then Set Rng = R Else Set Rng = Union(R, Rng)
'Union 方法 傳回兩個或多個範圍的合併範圍。
End If
Next
If Not Rng Is Nothing Then Rng.EntireRow.Delete '範圍整欄刪除
End Sub
複製代碼
作者:
xbzxbzxbz
時間:
2012-9-20 17:38
回復
2#
GBKEE
GBKEE大大
我對您的景仰有如滔滔江水連綿不絕
感謝您
作者:
xbzxbzxbz
時間:
2012-9-26 10:31
回復
2#
GBKEE
請問一下各位大大
這個公式是當N欄位的值為0的時後,刪除一整列
Option Explicit
Sub Ex()
Dim R As Range, Rng As Range
For Each R In ActiveSheet.Range("N:N").SpecialCells(xlCellTypeConstants).Rows
If Not IsError(Application.Match(0, R, 0)) Then
If Rng Is Nothing Then Set Rng = R Else Set Rng = Union(R, Rng)
End If
Next
If Not Rng Is Nothing Then Rng.EntireRow.Delete
End Sub
若要改成N欄位的值超過1800的時後,刪除一整列
請問要如何進行修改?
感謝!!
作者:
GBKEE
時間:
2012-9-26 13:43
回復
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。
Option Explicit
Sub Ex()
Dim R As Range, Rng As Range
For Each R In ActiveSheet.Range("J:N").SpecialCells(xlCellTypeConstants).Rows
'ActiveSheet(作用工作表) SpecialCells(xlCellTypeConstants "包含常數的儲存格")
If Not IsError(Application.Match(1800, R, -1)) Then
'工作表函數Match 尋找到0 傳回數字,找不到0 傳回錯誤值 #N/A
If Rng Is Nothing Then Set Rng = R Else Set Rng = Union(R, Rng)
'Union 方法 傳回兩個或多個範圍的合併範圍。
End If
Next
If Not Rng Is Nothing Then Rng.EntireRow.Delete '範圍整欄刪除
End Sub
複製代碼
作者:
xbzxbzxbz
時間:
2012-9-26 14:33
回復
5#
GBKEE
感謝GBKEE大大詳細的解說
又學到一招了
真的感謝您
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)