Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Más información
Microsoft proporciona ejemplos de programación sólo como ilustración, sin ninguna
garantía ya sea expresa o implícita. Esto incluye, entre otras, las garantías implícitas de
comerciabilidad e idoneidad para un fin determinado. En este artículo se da por
supuesto que ya conoce el lenguaje de programación que se muestra, así como las
herramientas empleadas para crear y depurar procedimientos. Los ingenieros de
soporte técnico de Microsoft pueden explicarle la funcionalidad de un determinado
procedimiento, pero no modificarán estos ejemplos para ofrecer mayor funcionalidad
ni crearán procedimientos adaptados a sus necesidades específicas. En los ejemplos de
este artículo se usan los métodos de Visual Basic que se enumeran en la tabla
siguiente.
Método Argumentos
------------------------------------------
Activate none
Cells rowIndex, columnIndex
Application.Goto reference, scroll
Offset rowOffset, columnOffset
Range cell1
cell1, cell2
Resize rowSize, columnSize
Select none
Sheets index (or sheetName)
Workbooks index (or bookName)
End direction
CurrentRegion none
---------------------------------------------------------------------
ActiveSheet para especificar la hoja activa ActiveWorkbook
para especificar el libro activo Columns.Count para contar el
número de columnas del elemento especificado Rows.Count para
contar el número de filas del elemento especificado Selection
para hacer referencia al rango seleccionado
Para seleccionar la celda D5 en la hoja de cálculo activa puede utilizar cualquiera de los
ejemplos siguientes:
ActiveSheet.Cells(5, 4).Select
o bien
ActiveSheet.Range("D5").Select
Para seleccionar la celda E6 en otra hoja de cálculo del mismo libro, puede utilizar
cualquiera de los ejemplos siguientes:
Application.Goto ActiveWorkbook.Sheets("Sheet2").Cells(6, 5)
o bien
Application.Goto (ActiveWorkbook.Sheets("Sheet2").Range("E6"))
O bien, puede activar la hoja y usar el método 1 que aparece más arriba para
seleccionar la celda:
Sheets("Sheet2").Activate
ActiveSheet.Cells(6, 5).Select
Para seleccionar la celda F7 en una hoja de cálculo de un libro diferente, puede utilizar
cualquiera de los ejemplos siguientes:
Application.Goto Workbooks("BOOK2.XLS").Sheets("Sheet1").Cells(7, 6)
o bien
Application.Goto Workbooks("BOOK2.XLS").Sheets("Sheet1").Range("F7")
O bien, puede activar la hoja y usar el método 1 que aparece más arriba para
seleccionar la celda:
Workbooks("BOOK2.XLS").Sheets("Sheet1").Activate
ActiveSheet.Cells(7, 6).Select
Para seleccionar el rango C2:D10 en la hoja de cálculo activa puede utilizar cualquiera
de los ejemplos siguientes:
ActiveSheet.Range(Cells(2, 3), Cells(10, 4)).Select
ActiveSheet.Range("C2:D10").Select
ActiveSheet.Range("C2", "D10").Select
Para seleccionar el rango D3:E11 de otra hoja de cálculo del mismo libro, puede utilizar
cualquiera de los ejemplos siguientes:
Application.Goto ActiveWorkbook.Sheets("Sheet3").Range("D3:E11")
O bien, puede activar la hoja y usar el método 4 que aparece más arriba para
seleccionar el rango:
Sheets("Sheet3").Activate
ActiveSheet.Range(Cells(3, 4), Cells(11, 5)).Select
Para seleccionar el rango E4:F12 de una hoja de cálculo en un libro diferente, puede
utilizar cualquiera de los ejemplos siguientes:
Application.Goto Workbooks("BOOK2.XLS").Sheets("Sheet1").Range("E4:F12")
Application.Goto _
Workbooks("BOOK2.XLS").Sheets("Sheet1").Range("E4", "F12")
O bien, puede activar la hoja y usar el método 4 que aparece más arriba para
seleccionar el rango:
Workbooks("BOOK2.XLS").Sheets("Sheet1").Activate
ActiveSheet.Range(Cells(4, 5), Cells(12, 6)).Select
Para seleccionar el rango con nombre "Test" de la hoja de cálculo activa puede utilizar
cualquiera de los ejemplos siguientes:
Range("Test").Select
Application.Goto "Test"
Para seleccionar el rango con nombre "Test" de otra hoja de cálculo del mismo libro,
puede utilizar cualquiera de los ejemplos siguientes:
Application.Goto Sheets("Sheet1").Range("Test")
O bien, puede activar la hoja y usar el método 7 que aparece más arriba para
seleccionar el rango con nombre:
Sheets("Sheet1").Activate
Range("Test").Select
Application.Goto _
Workbooks("BOOK2.XLS").Sheets("Sheet2").Range("Test")
O bien, puede activar la hoja y usar el método 7 que aparece más arriba para
seleccionar el rango con nombre:
Workbooks("BOOK2.XLS").Sheets("Sheet2").Activate
Range("Test").Select
Para seleccionar una celda que se encuentra cinco filas más abajo y cuatro columnas a
la izquierda de la celda activa, puede utilizar el ejemplo siguiente:
ActiveCell.Offset(5, -4).Select
Para seleccionar una celda que se encuentra dos filas más arriba y tres columnas a la
derecha de la celda activa, puede utilizar el ejemplo siguiente:
ActiveCell.Offset(-2, 3).Select
Nota: Se producirá un error si intenta seleccionar una celda que esté "fuera de la hoja".
El primer ejemplo anterior devolverá un error si la celda activa se encuentra entre en
las columnas A a D, ya que si se mueve cuatro columnas a la izquierda, la celda activa
se desplazaría a una dirección de celda no válida.
ActiveSheet.Range("C7").Offset(5, 4).Select
Para seleccionar un rango de celdas que sea del mismo tamaño que el rango con
nombre "Prueba" pero que estén desplazadas cuatro filas más abajo y tres columnas a
la derecha, puede utilizar el ejemplo siguiente:
ActiveSheet.Range("Test").Offset(4, 3).Select
Si el rango con nombre está en otra hoja (que no sea la activa), active primero esa hoja
y, a continuación, seleccione el rango con el ejemplo siguiente:
Sheets("Sheet3").Activate
ActiveSheet.Range("Test").Offset(4, 3).Select
Range("Database").Select
Selection.Resize(Selection.Rows.Count + 5, _
Selection.Columns.Count).Select
Range("Database").Select
Selection.Offset(4, 3).Resize(Selection.Rows.Count + 2, _
Selection.Columns.Count + 1).Select
Para seleccionar la unión (es decir, el área combinada) de los dos rangos con nombre
"Prueba" y "Ejemplo", puede utilizar el ejemplo siguiente:
Application.Union(Range("Test"), Range("Sample")).Select
Tenga en cuenta que ambos rangos deben estar en la misma hoja para que este
ejemplo funcione. Observe también que el método Union no funciona entre diferentes
hojas. Por ejemplo, esta línea funciona correctamente
Para seleccionar la intersección de los dos rangos con nombre "Prueba" y "Ejemplo",
puede utilizar el ejemplo siguiente:
Application.Intersect(Range("Test"), Range("Sample")).Select
Tenga en cuenta que ambos rangos deben estar en la misma hoja para que este
ejemplo funcione.
Para seleccionar la última celda de una columna contigua, utilice el ejemplo siguiente:
ActiveSheet.Range("a1").End(xlDown).Select
Cuando este código se utilice con la tabla de ejemplo, se seleccionará la celda A4.
ActiveSheet.Range("a1").End(xlDown).Offset(1,0).Select
Para seleccionar un rango de celdas contiguas en una columna, utilice uno de los
ejemplos siguientes:
ActiveSheet.Range("a1", ActiveSheet.Range("a1").End(xlDown)).Select
o bien
Cuando este código se utilice con la tabla de ejemplo, se seleccionarán las celdas A1 a
A4.
Para seleccionar un rango de celdas que no sean contiguas, utilice uno de los ejemplos
siguientes:
ActiveSheet.Range("a1",ActiveSheet.Range("a65536").End(xlUp)).Select
o bien
Cuando este código se utilice con la tabla de ejemplo, se seleccionarán las celdas A1 a
A6.
ActiveSheet.Range("a1").CurrentRegion.Select
Este código seleccionará las celdas A1 a C4. A continuación se enumeran más ejemplos
de selección de celdas del mismo rango:
ActiveSheet.Range("a1", _
ActiveSheet.Range("a1").End(xlDown).End(xlToRight)).Select
o bien
ActiveSheet.Range("a1:" & _
ActiveSheet.Range("a1").End(xlDown).End(xlToRight).Address).Select
En algunos casos, es posible que quiera seleccionar las celdas A1 a C6. En este ejemplo,
el método CurrentRegion no funcionará por la línea vacía de la fila 5. Los siguientes
ejemplos harán que se seleccionen todas las celdas:
lastCol = ActiveSheet.Range("a1").End(xlToRight).Column
lastRow = ActiveSheet.Cells(65536, lastCol).End(xlUp).Row
ActiveSheet.Range("a1", ActiveSheet.Cells(lastRow, lastCol)).Select
o bien
lastCol = ActiveSheet.Range("a1").End(xlToRight).Column
lastRow = ActiveSheet.Cells(65536, lastCol).End(xlUp).Row
ActiveSheet.Range("a1:" & _
ActiveSheet.Cells(lastRow, lastCol).Address).Select
StartRange = "A1"
EndRange = "C1"
Set a = Range(StartRange, Range(StartRange).End(xlDown))
Set b = Range(EndRange, Range(EndRange).End(xlDown))
Union(a,b).Select
Cuando este código se utilice con la tabla de ejemplo, se seleccionarán las celdas
A1:A3 y C1:C6.
NOTAS SOBRE LOS EJEMPLOS
ActiveSheet.Range("D5").Select
puede utilizar:
Range("D5").Select
Application.Goto Sheets("Sheet1").Range( _
Sheets("Sheet1").Range(Sheets("Sheet1").Cells(2, 3), _
Sheets("Sheet1").Cells(4, 5)))
Para cualquier elemento entre comillas (por ejemplo, el rango con nombre
"Prueba"), también puede utilizar una variable cuyo valor sea una cadena de
texto. Por ejemplo, en lugar de escribir
ActiveWorkbook.Sheets("Sheet1").Activate
puede utilizar
ActiveWorkbook.Sheets(myVar).Activate
Referencias
Para obtener más información acerca de cómo usar el código de ejemplo de este
artículo, haga clic en el número de artículo siguiente para verlo en Microsoft
Knowledge Base:
Propiedades
Id. de artículo: 291308 - Última revisión: 15/12/2016 - Revisión: 1