Cómo seleccionar celdas y rangos mediante procedimientos de Visual Basic en Excel
-
Upload
jose-estrada -
Category
Documents
-
view
27 -
download
0
Transcript of Cómo seleccionar celdas y rangos mediante procedimientos de Visual Basic en Excel
03/01/14 Cómo seleccionar celdas y rangos mediante procedimientos de Visual Basic en Excel
support.microsoft.com/kb/291308/es 1/6
Al usar este sitio Ud. acepta el uso de cookies para análisis, contenido personalizado y publicidad. Saber más
A ds by V iewPassword A d O ptions
Aviso importante para los usuarios de Office 2003: si desea seguir recibiendo actualizaciones de seguridad para Office,
asegúrese de que está ejecutando Office 2003 Service Pack 3 (SP3). El soporte para Office 2003 finaliza el 8 de abril de 2014. Si
ejecuta Office 2003 después de esta fecha, para asegurarse de recibir todas las actualizaciones de seguridad importantes paraOffice tendrá que actualizar a una versión posterior, como Office 365 o Office 2013. Para obtener más información, consulte El
soporte está finalizando para Office 2003.
Id. de artículo: 291308 - Ver los productos a los que se aplica este artículo
Microsoft proporciona ejemplos de programación únicamente con fines ilustrativos, sin ninguna garantía expresa o implícita. Esto incluye, pero no se limita a, las
garantías implícitas de comerciabilidad o idoneidad para un fin determinado. Este artículo asume que está familiarizado con el lenguaje de programación que se
muestra y con las herramientas que se utilizan 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 que cumplan
sus requisitos específicos. Los ejemplos de este artículo utilizan los métodos de Visual Basic enumerados en la tabla siguiente.
En los ejemplos de este artículo se utilizan las propiedades de la siguiente tabla.
1: Cómo seleccionar una celda de la hoja de cálculo activa
Para seleccionar la celda D5 en la hoja activa, puede utilizar cualquiera de los siguientes ejemplos:
- o -
1: Cómo seleccionar una celda de la hoja de cálculo activa
Para seleccionar la celda E6 en otra hoja del mismo libro, puede utilizar cualquiera de los siguientes ejemplos:
O bien, puede activar la hoja de cálculo y, a continuación, utilice el método 1 anterior para seleccionar la celda:
2: Cómo seleccionar una celda en otra hoja del mismo libro
Para seleccionar la celda F7 en una hoja de cálculo en un libro diferente, puede utilizar cualquiera de los siguientes ejemplos:
Cómo seleccionar celdas y rangos medianteprocedimientos de Visual Basic en Excel
Más información
Method Arguments ------------------------------------------ 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
Property Use --------------------------------------------------------------------- ActiveSheet to specify the active sheetActiveWorkbook to specify the active workbook Columns.Count to count the number of columns in the specified item Rows.Count to countthe number of rows in the specified item Selection to refer to the currently selected range
ActiveSheet.Cells(5, 4).Select
ActiveSheet.Range("D5").Select
Application.Goto ActiveWorkbook.Sheets("Sheet2").Cells(6, 5)
-or-
Application.Goto (ActiveWorkbook.Sheets("Sheet2").Range("E6"))
Sheets("Sheet2").Activate ActiveSheet.Cells(6, 5).Select
Application.Goto Workbooks("BOOK2.XLS").Sheets("Sheet1").Cells(7, 6)
03/01/14 Cómo seleccionar celdas y rangos mediante procedimientos de Visual Basic en Excel
support.microsoft.com/kb/291308/es 2/6
- o -
O bien, puede activar la hoja de cálculo y, a continuación, utilice el método 1 anterior para seleccionar la celda:
3: Cómo seleccionar una celda en una hoja de cálculo en un libro diferente
Para seleccionar el rango C2: D10 en la hoja activa, puede utilizar cualquiera de los siguientes ejemplos:
4: Cómo seleccionar un rango de celdas en la hoja de cálculo activa
Para seleccionar el rango D3: E11 en otra hoja del mismo libro, puede utilizar cualquiera de los siguientes ejemplos:
O bien, puede activar la hoja de cálculo y, a continuación, utilice el método 4 anterior para seleccionar el rango:
5: Cómo seleccionar un rango de celdas en otra hoja del mismo libro
Para seleccionar el rango E4: F12 de una hoja de cálculo en un libro diferente, puede utilizar cualquiera de los siguientes ejemplos:
O bien, puede activar la hoja de cálculo y, a continuación, utilice el método 4 anterior para seleccionar el rango:
6: Cómo seleccionar un rango de celdas en una hoja de cálculo en un libro diferente
Para seleccionar el rango con nombre "Prueba" de la hoja activa, puede utilizar cualquiera de los siguientes ejemplos:
7: Cómo seleccionar un rango con nombre en la hoja de cálculo activa
Para seleccionar el rango con nombre "Prueba" en otra hoja del mismo libro, puede utilizar el siguiente ejemplo:
O bien, puede activar la hoja de cálculo y, a continuación, utilice el método 7 anterior para seleccionar el rango con nombre:
8: Cómo seleccionar un rango con nombre en otra hoja del mismo libro
Para seleccionar el rango con nombre "Test" en una hoja de cálculo en un libro diferente, puede utilizar el siguiente ejemplo:
O bien, puede activar la hoja de cálculo y, a continuación, utilice el método 7 anterior para seleccionar el rango con nombre:
Application.Goto Workbooks("BOOK2.XLS").Sheets("Sheet1").Cells(7, 6)
Application.Goto Workbooks("BOOK2.XLS").Sheets("Sheet1").Range("F7")
Workbooks("BOOK2.XLS").Sheets("Sheet1").Activate ActiveSheet.Cells(7, 6).Select
ActiveSheet.Range(Cells(2, 3), Cells(10, 4)).Select
ActiveSheet.Range("C2:D10").Select
ActiveSheet.Range("C2", "D10").Select
Application.Goto ActiveWorkbook.Sheets("Sheet3").Range("D3:E11")
Application.Goto ActiveWorkbook.Sheets("Sheet3").Range("D3", "E11")
Sheets("Sheet3").Activate ActiveSheet.Range(Cells(3, 4), Cells(11, 5)).Select
Application.Goto Workbooks("BOOK2.XLS").Sheets("Sheet1").Range("E4:F12")
Application.Goto _ Workbooks("BOOK2.XLS").Sheets("Sheet1").Range("E4", "F12")
Workbooks("BOOK2.XLS").Sheets("Sheet1").Activate ActiveSheet.Range(Cells(4, 5), Cells(12, 6)).Select
Range("Test").Select
Application.Goto "Test"
Application.Goto Sheets("Sheet1").Range("Test")
Sheets("Sheet1").Activate Range("Test").Select
Application.Goto _ Workbooks("BOOK2.XLS").Sheets("Sheet2").Range("Test")
Workbooks("BOOK2.XLS").Sheets("Sheet2").Activate Range("Test").Select
03/01/14 Cómo seleccionar celdas y rangos mediante procedimientos de Visual Basic en Excel
support.microsoft.com/kb/291308/es 3/6
9: Cómo seleccionar un rango con nombre en una hoja de cálculo en un libro diferente
Para seleccionar una celda que está cinco filas más abajo y cuatro columnas a la izquierda de la celda activa, puede utilizar el siguiente ejemplo:
Para seleccionar una celda que está dos filas más arriba y tres columnas a la derecha de la celda activa, puede utilizar el siguiente ejemplo:
Nota: Se producirá un error si intenta seleccionar una celda que está "fuera de la hoja de cálculo." El primer ejemplo anterior devolverá un error si la celda
activa se encuentra en las columnas A D, ya que mueve cuatro columnas a la izquierda se tardaría la celda activa en una dirección de celda no válido.
10: Cómo seleccionar una celda relativa a la celda activa
Para seleccionar una celda que está cinco filas más abajo y cuatro columnas a la derecha de la celda C7, puede utilizar cualquiera de los siguientes ejemplos:
11: Cómo seleccionar una celda relativa a otra (que no sea la activa) celda
Para seleccionar un rango de celdas que tiene el mismo tamaño que el rango con nombre "Prueba" pero que estén desplazadas cuatro filas hacia abajo y tres
columnas a la derecha, puede utilizar el siguiente ejemplo:
Si el rango con nombre que se encuentra en otra (que no sea la activa) hoja de cálculo, active primero esa hoja y, a continuación, seleccione el rango mediante
el siguiente ejemplo:
12: Cómo seleccionar un rango de celdas de desplazamiento de un intervalo especificado
Para seleccionar el rango con nombre "Base de datos" y, a continuación, extender la selección cinco filas, puede utilizar el siguiente ejemplo:
13: Cómo seleccionar un rango especificado y cambiar el tamaño de la selección
Para seleccionar un rango cuatro filas más abajo y tres columnas a la derecha del rango con nombre "Base de datos" e incluir dos filas y una columna más que
el rango con nombre, puede utilizar el siguiente ejemplo:
14: Cómo seleccionar un rango especificado, desplazarlo y, a continuación, cambiar su tamaño
Para seleccionar la unión (es decir, el área combinada) de los dos rangos con nombre "Prueba" y "Ejemplo", puede utilizar el siguiente ejemplo:
Tenga en cuenta que ambos rangos deben estar en la misma hoja de cálculo para que funcione este ejemplo. Tenga en cuenta también que el método Union no
funciona entre diferentes hojas. Por ejemplo, esta línea funciona correctamente
pero esta línea
Devuelve el mensaje de error:
15: Seleccionar la unión de dos o más rangos especificados
Para seleccionar la intersección de dos rangos con nombre "Prueba" y "Ejemplo", puede utilizar el siguiente ejemplo:
Tenga en cuenta que ambos rangos deben estar en la misma hoja de cálculo para que funcione este ejemplo.
ActiveCell.Offset(5, -4).Select
ActiveCell.Offset(-2, 3).Select
ActiveSheet.Cells(7, 3).Offset(5, 4).Select
ActiveSheet.Range("C7").Offset(5, 4).Select
ActiveSheet.Range("Test").Offset(4, 3).Select
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
Application.Union(Range("Test"), Range("Sample")).Select
Set y = Application.Union(Range("Sheet1!A1:B2"), Range("Sheet1!C3:D4"))
Set y = Application.Union(Range("Sheet1!A1:B2"), Range("Sheet2!C3:D4"))
Error en el método de unión de la clase de aplicación
Application.Intersect(Range("Test"), Range("Sample")).Select
03/01/14 Cómo seleccionar celdas y rangos mediante procedimientos de Visual Basic en Excel
support.microsoft.com/kb/291308/es 4/6
El siguiente conjunto de muestra de datos Consulte ejemplos 17 a 21 de este artículo. Cada ejemplo especifica el rango de celdas de los datos de ejemplo que
se seleccionarían.
16: Seleccionar la intersección de dos o más rangos especificados
Para seleccionar la última celda de una columna contigua, utilice el siguiente ejemplo:
Cuando se utiliza este código con la tabla de ejemplo, se selecciona la celda A4.
17: Cómo seleccionar la última celda de una columna de datos contiguos
Para seleccionar la celda situada debajo de un rango de celdas contiguas, utilice el siguiente ejemplo:
Cuando se utiliza este código con la tabla de ejemplo, se selecciona la celda A5.
19: Cómo seleccionar un rango completo de celdas contiguas en una columna
Para seleccionar un rango de celdas contiguas en una columna, utilice uno de los ejemplos siguientes:
Cuando se utiliza este código con la tabla de ejemplo, se seleccionarán las celdas A1 a A4.
20: Cómo seleccionar una completa gama de no contiguas las celdas de una columna
Para seleccionar un rango de celdas que no sean contiguas, utilice uno de los ejemplos siguientes:
Cuando se utiliza este código con la tabla de ejemplo, seleccionará las celdas A1 a A6.
21: Cómo seleccionar un rango Rectangular de celdas
Para seleccionar un rango rectangular de celdas alrededor de una celda, utilice el método CurrentRegion . El rango seleccionado mediante el método
CurrentRegion es un área delimitada por cualquier combinación de filas y columnas en blanco. El siguiente es un ejemplo de cómo utilizar el método
CurrentRegion :
Este código seleccionará las celdas A1 a C4. Otros ejemplos para seleccionar el mismo rango de celdas son los siguientes:
En algunos casos, es aconsejable seleccionar las celdas A1 a C6. En este ejemplo, el método CurrentRegion no funcionará debido a la línea en blanco en la fila
5. En los ejemplos siguientes se seleccionan todas las celdas:
A1: Name B1: Sales C1: Quantity A2: a B2: $10 C2: 5 A3: b B3: C3: 10 A4: c B4: $10 C4: 5 A5: B5: C5: A6: Total B6: $20 C6: 20
ActiveSheet.Range("a1").End(xlDown).Select
ActiveSheet.Range("a1").End(xlDown).Offset(1,0).Select
ActiveSheet.Range("a1", ActiveSheet.Range("a1").End(xlDown)).Select
-or-
ActiveSheet.Range("a1:" & ActiveSheet.Range("a1"). _ End(xlDown).Address).Select
ActiveSheet.Range("a1",ActiveSheet.Range("a65536").End(xlUp)).Select
-or-
ActiveSheet.Range("a1:" & ActiveSheet.Range("a65536"). _ End(xlUp).Address).Select
ActiveSheet.Range("a1").CurrentRegion.Select
ActiveSheet.Range("a1", _ ActiveSheet.Range("a1").End(xlDown).End(xlToRight)).Select
-or-
ActiveSheet.Range("a1:" & _ ActiveSheet.Range("a1").End(xlDown).End(xlToRight).Address).Select
lastCol = ActiveSheet.Range("a1").End(xlToRight).Column lastRow = ActiveSheet.Cells(65536, lastCol).End(xlUp).RowActiveSheet.Range("a1", ActiveSheet.Cells(lastRow, lastCol)).Select
03/01/14 Cómo seleccionar celdas y rangos mediante procedimientos de Visual Basic en Excel
support.microsoft.com/kb/291308/es 5/6
22. Cómo seleccionar varias columnas no contiguas de longitud variable
Para seleccionar varias columnas no contiguas de longitud variable, utilice el siguiente ejemplo de tabla y la macro de ejemplo:
Cuando se utiliza este código con la tabla de ejemplo, se seleccionarán las celdas a1: a3 y C1: C6.
NOTAS SOBRE LOS EJEMPLOS
La propiedad ActiveSheet puede omitirse normalmente, ya que se considera implícita si no tiene un nombre hoja de específico. Por ejemplo, en lugar de
Puede utilizar:
La propiedad ActiveWorkbook puede omitirse también normalmente. A menos que se denomina un workbookis específico, está implícito el libro activo.
Cuando utilice el método Application.Goto , si desea utilizar dos métodos de celdas dentro del método Range cuando el rango especificado está en
otra (que no sea la activa), hoja de cálculo debe incluir el objeto Sheets cada vez. Por ejemplo:
Para cualquier elemento entre comillas (por ejemplo, el namedrange "Prueba"), también puede utilizar una variable cuyo valor es una cadena de texto. Por
ejemplo, en lugar de
Puede utilizar
donde el valor de MiVar es "Sheet1".
Para obtener más información acerca de cómo utilizar 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:
290140 (http://support.microsoft.com/kb/290140/ ) Cómo se ejecuta el código de ejemplo para los programas de Office XP desde artículos de Knowledge Base
Id. de artículo: 291308 - Última revisión: miércoles, 20 de noviembre de 2013 - Versión: 2.0
La información de este ar tículo se refiere a :
Microsoft Office Excel 2003Microsoft Office Excel 2007Microsoft Excel 2010
Palabras clave: kbautomation kbmacro kbdtacode kbhowto kbprogramming kbmt KB291308 KbMtes
Traducción automáticaIMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano.Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestrabase de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los queun extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o comoconsecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.Haga clic aquí para ver el artículo original (en inglés): 291308 (http://support.microsoft.com/kb/291308/en-us/ )
-or-
lastCol = ActiveSheet.Range("a1").End(xlToRight).Column lastRow = ActiveSheet.Cells(65536, lastCol).End(xlUp).RowActiveSheet.Range("a1:" & _ ActiveSheet.Cells(lastRow, lastCol).Address).Select
A1: 1 B1: 1 C1: 1 D1: 1 A2: 2 B2: 2 C2: 2 D2: 2 A3: 3 B3: 3 C3: 3 D3: 3 A4: B4: 4 C4: 4 D4: 4 A5: B5: 5 C5: 5 D5: A6: B6: C6: 6 D6:
StartRange = "A1" EndRange = "C1" Set a = Range(StartRange, Range(StartRange).End(xlDown)) Set b = Range(EndRange,Range(EndRange).End(xlDown)) Union(a,b).Select
ActiveSheet.Range("D5").Select
Range("D5").Select
Application.Goto Sheets("Sheet1").Range( _ Sheets("Sheet1").Range(Sheets("Sheet1").Cells(2, 3), _ Sheets("Sheet1").Cells(4,5)))
ActiveWorkbook.Sheets("Sheet1").Activate
ActiveWorkbook.Sheets(myVar).Activate
Referencias
属性
03/01/14 Cómo seleccionar celdas y rangos mediante procedimientos de Visual Basic en Excel
support.microsoft.com/kb/291308/es 6/6
A ds by V iewPassword A d O ptions
A ds by V iewPassword A d O ptions