'Subscrito fora do intervalo' ao selecionar um intervalo

0

Estou recebendo um erro do VBA ( Run-time error '9': Subscript out of range ) quando estou tentando selecionar uma pasta de trabalho e, em seguida, uma célula dentro de uma planilha nessa pasta de trabalho.

this_workbook está correto, e copiar e colar a saída no Windows Run resulta na abertura da pasta de trabalho. data_worksheet também está correto.

this_workbook = ThisWorkbook.Path & "\" & ThisWorkbook.Name

Debug.Print "Workbook name - " & this_workbook & vbCrLf
Workbooks(this_workbook).Sheets(data_worksheet).Range("A1").Select

Alguém sabe o que estou fazendo errado?

    
por David Gard 18.10.2012 / 18:01

1 resposta

1

Você não pode selecionar um intervalo em uma planilha que não esteja ativa.

Além disso, chamar usando Workbook(this_workbook) complica excessivamente seu código.

Tente substituir seu código por isso (assume que data_worksheet representa um nome ou número da planilha):

With Thisworkbook.Sheets(data_worksheet).
    .Activate
    .Range("A1").select
End with

Agora, lembre-se de que esse código não faz nada além de selecionar uma célula em uma determinada pasta, portanto, essa macro não é particularmente útil.

    
por 18.10.2012 / 18:19