cómo seleccionar celdas y rangos mediante procedimientos de visual basic en excel

6
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 iew P assw ord 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 para Office 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 mediante procedimientos 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 sheet ActiveWorkbook to specify the active workbook Columns.Count to count the number of columns in the specified item Rows.Count to count the 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)

Upload: jose-estrada

Post on 20-Jan-2016

27 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 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)

Page 2: 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 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

Page 3: 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 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

Page 4: 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 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

Page 5: 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 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

属性

Page 6: 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 6/6

A ds by V iewPassword A d O ptions

A ds by V iewPassword A d O ptions