2010-07-08 6 views
1

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

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 

ответ

4

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

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

ActiveWorkbook.Sheets(3).Activate 

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

ActiveWorkbook.Sheets("stats").Activate 

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

1

Рабочие тетради (x). Рабочие листы (x) .Activate?

Смежные вопросы