Abra uma janela imediata no editor do Visual Basic for Applications (VBA).
Digite "excel.Application.Workbooks.Count" Se ele imprimir corretamente o número de pastas de trabalho abertas, você poderá usar excel.application.Workbooks("Bookx").Activate
(tentei apenas em 2010). ( excel.Application.Workbooks(2).sheets(2).activate
também funciona.)
Não funcionará se esse processo externo estiver abrindo as novas pastas de trabalho em instâncias separadas. Se for esse o caso, eles são completamente (por design) separados um do outro e você não poderá usar o VBA para se referir a eles.
Uma vez na pasta de trabalho correta, na janela de depuração, use
?excel.Application.ActiveWorkbook.Sheets.Count
para determinar se o número correto de planilhas está sendo relatado. Se estiverem, simplesmente consulte cada um usando activeworkbook.sheets(x)
. Se a janela de depuração informar o número errado de folhas, acho que você tem um problema diferente.