Excel удаляет строки из полного списка при удалении из мастера - PullRequest
0 голосов
/ 20 декабря 2011

Скажем, у меня есть 2 листа в моей книге. Один из них - это основной список, в котором есть ключевой столбец, который отображается только один раз, а также некоторая другая информация У другого есть несколько пунктов, где ключ может быть указан сотни раз.

Что я хочу сделать, так это то, что при удалении строки с мастер-листа удаляются все строки с одинаковым ключом с другого листа.

Возможно ли это?

Спасибо, Рег

1 Ответ

1 голос
/ 20 декабря 2011

Предположим, есть две таблицы: первая - 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

Надеюсь, это поможет вам начать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...