A menudo es necesario seleccionar una celda en particular en una macro. Sin embargo, es más difícil seleccionar esa celda si está en un libro de trabajo diferente.

Por ejemplo, considere las siguientes dos líneas de código:

Sub CellSelect1()

Workbooks("pwd.xls").Sheets("Sheet3").Select     ActiveSheet.Range("A18").Select End Sub

Podría pensar que esta macro seleccionará Sheet3! A18 en el libro de trabajo pwd.xls. Lo hace, con algunas salvedades. Si tiene más de un libro abierto, esta macro da como resultado un error, si pwd.xls no es el libro activo actualmente. Esto ocurre incluso si pwd.xls ya está abierto, pero simplemente no está seleccionado.

El mismo comportamiento existe incluso cuando condensa el código de selección en una sola línea:

Sub CellSelect2()

Workbooks("pwd.xls").Sheets("Sheet3").Range("A18").Select End Sub

Aún recibe el error, excepto cuando pwd.xls es el libro activo. La solución es cambiar por completo la forma de realizar el salto. En lugar de utilizar el método Select, utilice el método Goto y especifique una dirección de destino para el método:

Sub CellSelect3()

Application.Goto _       Reference:=Workbooks("pwd.xls").Sheets("Sheet3").[A18]

End Sub

Este código funcionará solo si pwd.xls ya está abierto, pero no es necesario que sea el libro de trabajo activo actualmente. Si desea que el libro de trabajo de destino se desplace de modo que la celda especificada esté en la esquina superior izquierda de lo que está viendo, puede especificar que el atributo Desplazamiento sea Verdadero, como se muestra aquí:

Sub CellSelect4()

Application.Goto _       Reference:=Workbooks("pwd.xls").Sheets("Sheet3").[A18] _       Scroll:=True End Sub

_Nota: _

Si desea saber cómo usar las macros descritas en esta página (o en cualquier otra página de los sitios ExcelTips), he preparado una página especial que incluye información útil.

link: / excelribbon-ExcelTipsMacros [Haga clic aquí para abrir esa página especial en una nueva pestaña del navegador].

ExcelTips es su fuente de formación rentable en Microsoft Excel.

Este consejo (2791) se aplica a Microsoft Excel 97, 2000, 2002 y 2003. Puede encontrar una versión de este consejo para la interfaz de cinta de Excel (Excel 2007 y posterior) aquí:

link: / excelribbon-Selecting_a_Specific_Cell_in_a_Macro [Seleccionar una celda específica en una macro].