2011-12-19 103 views
0

假設我在工作簿中有兩張表。一個是主列表,其具有僅顯示一次的關鍵列以及一些其他相關信息。另一個有多個項目,其中密鑰可能被列出數百次。Excel從主列表刪除完整列表時刪除行

我想要做的是當從主工作表中刪除該行時,它將刪除與其他工作表具有相同鍵的所有行。

這可能嗎?

感謝, 註冊

+0

該行是如何刪除的?整行被完全刪除或行的內容被刪除(但行仍然)? –

回答

1

讓我們假設有兩個工作表 - 第一個是master有你的所有獨特的鑰匙和第二被命名爲keys

接着,假定數據被設置如下:

**Master**    **Keys** 
    A  B     A  B 
1 ABC1 other info...  ABC1 other info... 
2 ABC2 other info...  ABC1 other info... 
3 ABC3 other info...  ABC2 other info... 
4 ABC4 other info...  ABC2 other info... 
5 ABC5 other info...  ABC2 other info... 
           ABC3 other info... 
           ABC4 other info... 

如果選擇要刪除,然後運行下面的代碼,這將來自master,然後循環刪除所選鍵master關鍵通過keys並刪除具有相同的密鑰的任何行:

Sub DeleteKeys() 
    Dim KeyID As String, KeysLastRow As Long, rw As Long 

    KeyID = Selection.Value 
    KeysLastRow = Worksheets("keys").Range("A1").End(xlDown).Row //Get last row in `keys` column A 

    Selection.EntireRow.Delete //Delete selected key (and row) in `master` 

    With Worksheets("keys") //Loop through `keys` deleting all matching keys 
     For rw = KeysLastRow To 1 Step -1 
      If .Cells(rw, 1).Value = KeyID Then 
       .Cells(rw, 1).EntireRow.Delete 
      End If 
     Next rw 
    End With 
End Sub 

希望這可以幫助您開始。

+0

非常完美! – Reg