2011-12-19 26 views
0

私のワークブックには2枚あるとします。 1つは、キー列が1回だけ表示され、他の関連情報も表示されるマスターリストです。もう1つは、キーが何百回もリストアップされる可能性のある複数の項目を持っています。Excelはマスターから削除されたときに完全なリストから行を削除します

私がしたいのは、行がマスターシートから削除され、同じシートのキーと同じキーを持つすべての行が削除される場合です。

これは可能ですか?

おかげで、 レッグ

+0

行はどのように削除されますか?行全体が完全に削除されるか、行の内容が削除されます(ただし行は残ります)。 –

答えて

1

はのは、2つのワークシートがあるとしよう - 最初は、すべての一意キーを有し、第2のkeys命名されmasterです。

次は、次のようにそのデータが設定されていると仮定します。あなたは、この次のコードを削除して実行したいmasterでキーがmasterから選択されたキーを削除してから、ループします]を選択した場合

**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... 

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

関連する問題