2014-02-07 5 views
0

Im используя следующий код, чтобы выбрать определенный диапазон в выбранном листе в ExcelОткрыть Excel из слова и выбрать конкретный лист

Sub openWordvanuitWord() 

Dim excelApp As Excel.Application 
Dim Excel As Excel.Workbook 
Dim sht As Excel.Worksheet 

Set excelApp = CreateObject("Excel.Application") 
excelApp.Visible = True 

Set Excel = excelApp.Workbooks.Open("C:\Documents and Settings\aa471714\Desktop\Book1.xls") 
Set sht = Excel.Worksheets(1) 


With sht 

.Range("b3:h5").Select 


End With 

End Sub 

Проблема заключается в том, что он хочет, чтобы это выбрать лист 2. Только при изменении

Set sht = Excel.Worksheets(1) 

в

Set sht = Excel.Worksheets(2) 

Я получаю ошибку

Любые предложения?

ответ

1

Вы можете установить только на активный лист. Таким образом, вы должны активировать его первым:

Set sht = Excel.Worksheets(2) 
sht.activate 
With sht 
    .Range("b3:h5").Select 
End With 

Btw: В большинстве случаев вам не придется работать с выбором (вы можете читать и писать значения без использования, что, к примеру), но это другая тема. ..

+0

+ 1 в последнем предложении. Для OP: Пожалуйста, избегайте использования '.Select/.Activate' [INTERESTING READ] (http://stackoverflow.com/questions/10714251/excel-macro-avoiding-using-select) –

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