Как открыть рабочий лист в VBA? - PullRequest
1 голос
/ 08 июля 2010

Весело следующий код работает, только если рабочий лист действительно выбран в окне Excel.Я действительно хочу закончить этот макрос в ближайшее время, но не могу понять, как выбрать конкретный лист, чтобы он был открыт в Excel?Большое спасибо, если кто-то знает, как.Я должен использовать диапазон и т. Д.

sheet.Range(Cells(firstRow, 2).Address(False, False), Cells(lastRow, 50)).Select
With Selection
    .Copy
End With
sheet.Range(Cells(firstRow, 3).Address(False, False), Cells(lastRow, 51)).Select
With Selection
    .PasteSpecial xlPasteValuesAndNumberFormats
End With

Ответы [ 2 ]

4 голосов
/ 08 июля 2010

Вы можете активировать лист по имени или по индексу на основе 1 (номер - 1-я книга, 2-я и т. Д.). Синтаксис в любом случае одинаков.

Это активирует 3-й лист:

ActiveWorkbook.Sheets(3).Activate

Это активирует рабочий лист с именем stats:

ActiveWorkbook.Sheets("stats").Activate

Конечно, вам не нужно на самом деле выбирать рабочий лист в окне Excel для работы с ним. В вашем коде используется переменная sheet, которую, я полагаю, вы присвоили активной рабочей таблице. Вместо этого вы можете set sheet = ActiveWorkbook.Sheets("stats"), а затем работать с листом, даже если его не видно.

1 голос
/ 08 июля 2010

Рабочие тетради (х). Рабочие листы (х). Активировать?

...