1

Я создал командную кнопку для перетаскивания данных из отфильтрованного списка на другой лист в той же книге. После первого нажатия кнопки я захотел настроить команду для очистки целевой страницы, прежде чем заполнять ее обновленными данными при последующих нажатиях кнопки. Результат был следующим:

Private Sub CommandButton1_Click()
Sheets("Extract").Select
Selection.ClearContents
Sheets("Pricing Proposal").Select
ActiveSheet.AutoFilter.Range.Copy
Sheets("Extract").Select
Worksheets("Extract").Rows(6).Select
ActiveSheet.Paste

End Sub

Проблема в том, что очистка посадочного листа не всегда выполняется, когда я нажимаю, оставляя данные на посадочном листе, которые не нужны.

Любая помощь будет принята с благодарностью!

1 ответ1

0

Я думаю, что вы пропустили простую «Клетки».Выберите «, который выбирает все на странице, начиная с ячейки A1. Не зная, как настроена ваша страница, вы можете выбрать определенный диапазон, как указано ниже.

    Sheets("Extract").Select
    Cells.Select                        'or Range("A1:C6").Select or select Defined-Range like this Range(DefinedName).Select
    Selection.ClearContents
    Sheets("Pricing Proposal").Select
    Cells.Select                        ' or something like Range("A1:C8").Select or Range(DefinedName).Select or simpley Range("A1").Select
    Selection.Copy
    Sheets("Extract").Select
    Range("A1").Select                  ' or predefined Cell or range of cells or name as above comments
    ActiveSheet.Paste
    Application.CutCopyMode = False
    Range("A1").Select                  ' so the whole page isn't selected, or just pick a cell or delete this line if no need

Надеюсь, что это помогло :)


Упрощено: Ваш код с дополнением

Private Sub CommandButton1_Click()
Sheets("Extract").Select
Rows("1:6").Select
Selection.ClearContents
...

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .