Red de conocimiento informático - Problemas con los teléfonos móviles - Cómo seleccionar celdas de la hoja 2 en VBA

Cómo seleccionar celdas de la hoja 2 en VBA

¿Cómo seleccionar celdas en la hoja de trabajo actual?

Por ejemplo, puede utilizar el siguiente código para seleccionar la celda D5 en la hoja de trabajo actual:

ActiveSheet.Cells(5, 4).Select

Or : ActiveSheet.Range("D5").Select

¿Cómo seleccionar celdas en otras hojas de trabajo en el mismo libro?

Por ejemplo, para seleccionar la celda E6 en otra hoja de cálculo del mismo libro, usaría el siguiente código:

Application.Goto ActiveWorkbook.Sheets("Sheet2"). 6, 5)

O: Application.Goto (ActiveWorkbook.Sheets("Sheet2").Range("E6"))

También puede activar la hoja de trabajo primero y luego seleccionar :

Hojas("Hoja2").Activar

ActiveSheet.Cells(6, 5).Select

¿Cómo seleccionar celdas en diferentes libros de trabajo Celda?

Por ejemplo, para seleccionar la celda F7 en una hoja de cálculo de otro libro, puede utilizar el siguiente código:

Application.Goto Workbooks("BOOK2.XLS") .Sheets(" Hoja1").Celdas(7, 6)

O: Aplicación.Ir a libros de trabajo("BOOK2.XLS").Hojas("Hoja1").Rango("F7")

También puede activar las hojas de trabajo en el libro primero y luego seleccionar:

Workbooks("BOOK2.XLS").Sheets("Sheet1").Activate

ActiveSheet.Cells (7, 6).Seleccionar

¿Cómo seleccionar el rango de celdas en la hoja de trabajo actual?

Por ejemplo, para seleccionar el rango de celdas C2:D10 en la hoja de trabajo actual, puede usar el siguiente código:

ActiveSheet.Range(Cells(2, 3), Cells( 10 , 4)).Seleccione

o: ActiveSheet.Range("C2:D10").Seleccione

o: ActiveSheet.Range("C2", "D10"). Seleccione

¿Cómo seleccionar un rango de celdas en otra hoja de trabajo en el mismo libro?

Por ejemplo, para seleccionar el rango de celdas D3:E11 en otra hoja de cálculo del mismo libro, puede utilizar el siguiente código:

Application.Goto ActiveWorkbook.Sheets("Sheet3 " ).Range("D3:E11")

O: Application.Goto ActiveWorkbook.Sheets("Sheet3").Range("D3", "E11")

También usted Puede activar la hoja de trabajo primero y luego seleccionar:

Hojas("Hoja3").Activar

ActiveSheet.Range(Cells(3, 4), Cells(11, 5)). Seleccionar

¿Cómo seleccionar un rango de celdas en hojas de trabajo en diferentes libros?

Por ejemplo, para seleccionar el rango de celdas E4:F12 en una hoja de cálculo de otro libro, puede utilizar el siguiente código:

Application.Goto Workbooks("BOOK2.XLS ") .Hojas("Hoja1").Rango("E4:F12")<

/p>

O: Application.Goto Workbooks("BOOK2.XLS").Sheets("Sheet1").Range("E4", "F12")

También puedes activar el trabajo primera hoja y luego seleccione:

Workbooks("BOOK2.XLS").Sheets("Sheet1").Activate

ActiveSheet.Range(Cells(4, 5), Cells (12, 6)).Seleccionar

¿Cómo seleccionar un rango con nombre en la hoja de trabajo actual?

Por ejemplo, para seleccionar el rango denominado "Prueba" en la hoja de trabajo actual, puede utilizar el siguiente código:

Rango("Prueba").Select

O: Aplicación. Ir a "Prueba"

¿Cómo seleccionar un rango con nombre en otra hoja de trabajo en el mismo libro?

Por ejemplo, para seleccionar un rango llamado "Prueba" en otra hoja de trabajo en el mismo libro, use el siguiente código:

Application.Goto Sheets("Sheet1"). "Prueba")

También puedes activar la hoja de trabajo primero y luego seleccionar:

Hojas("Hoja1").Activar

Rango("Prueba") .Seleccionar

¿Cómo seleccionar un rango con nombre en una hoja de trabajo en un libro de trabajo diferente?

Por ejemplo, para seleccionar un rango llamado "Prueba" en una hoja de cálculo de un libro diferente, use el siguiente código:

Application.Goto Workbooks("BOOK2.XLS") . Sheets("Sheet2").Range("Test")

También puedes activar la hoja de trabajo primero y luego seleccionar:

Workbooks("BOOK2.XLS").Sheets(" Sheet2").Activate

Range("Test").Select

¿Cómo seleccionar celdas relacionadas con la celda actual?

Por ejemplo, para seleccionar una celda 5 filas debajo y 4 columnas a la izquierda de la celda actual, puedes usar el siguiente código:

ActiveCell.Offset(5, -4 ).Seleccione

Para seleccionar celdas 2 filas arriba y 3 columnas a la derecha de la celda actual, puede usar el siguiente código:

ActiveCell.Offset(-2, 3) .Seleccionar

p>

Nota: Asegúrese de que la distancia entre la celda actual y la celda seleccionada esté dentro del rango de la hoja de trabajo; de lo contrario, se producirá un error.

¿Cómo seleccionar una celda relacionada con otra celda (no con la celda actual)?

Por ejemplo, para seleccionar celdas 5 filas debajo de la celda C7 y 4 columnas a la derecha, puedes usar el siguiente código:

ActiveSheet.Cells(7, 3).Offset( 5, 4).Select

O: ActiveSheet.Range("C7").Offset(5, 4).Select

Cómo seleccionar un rango de celdas que se desvía del especificado ¿rango?

Por ejemplo, para seleccionar un rango que tenga el mismo tamaño que el rango denominado "Prueba", pero 4 filas debajo y 3 columnas a la derecha, usaría el siguiente código:

ActiveSheet .Range("Test").Offset(4, 3).Select

Si el rango nombrado no está en la hoja de trabajo actual, puede activar la hoja de trabajo primero y luego seleccionarla, como por ejemplo siguiente código:

Sheets("Sheet3").Activate

ActiveSheet.Range("Test").Offset(4, 3).Select

Cómo para seleccionar una región específica y expandir el tamaño de la región?

Por ejemplo, para seleccionar el rango denominado "Base de datos" en la hoja de trabajo actual y luego extender el rango hacia abajo 5 filas, puede usar el siguiente código:

Rango("Base de datos" ).Select

Selection.Resize(Selection.Rows.Count + 5, Selection.Columns.Count).Select

Cómo seleccionar un área específica, luego desviarse y luego expandirse el tamaño del área?

Por ejemplo, para seleccionar un área de 4 filas y 3 columnas a la derecha del área denominada "Base de datos", y luego extender 2 filas y 1 columna, puedes usar el siguiente código:

Rango( "Base de datos").Select

Selection.Offset(4, 3).Resize(Selection.Rows.Count + 2, Selection.Columns.Count + 1).Select

¿Cómo seleccionar dos o más áreas designadas?

Por ejemplo, para seleccionar dos rangos llamados "Prueba" y "Muestra" al mismo tiempo, puedes usar el siguiente código:

Application.Union(Range("Prueba" ), Range("Sample")).Select

Tenga en cuenta que estos dos rangos deben estar en la misma hoja de trabajo, como el siguiente código:

Set y = Application.Union( Range( "Sheet1!A1:B2"), Range("Sheet1!C3:D4"))

Pero el método Unión no puede manejar áreas en diferentes hojas de trabajo, se puede usar el siguiente código:

Establezca y = Application.Union(Range("Sheet1!A1:B2"), Range("Sheet2!C3:D4"))

Habrá un error.

¿Cómo seleccionar el área de intersección de dos o más áreas especificadas?

Por ejemplo, para seleccionar la intersección de dos rangos denominados "Prueba" y "Muestra", puede utilizar el siguiente código:

Application.Intersect(Range("Test" ) , Range("Sample")).Select

Tenga en cuenta que los dos rangos deben estar en la misma hoja de trabajo.

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

superficie.

¿Cómo seleccionar la última celda de una columna de datos continua?

Por ejemplo, para seleccionar la última celda de una columna consecutiva, puedes utilizar el siguiente código:

ActiveSheet.Range("a1").End(xlDown).Select

Este código se utiliza en la hoja de trabajo anterior y se selecciona la celda A4.

¿Cómo seleccionar las celdas vacías en la parte inferior de una columna de datos continua?

Por ejemplo, para seleccionar celdas debajo de un rango contiguo de celdas, puede usar el siguiente código:

ActiveSheet.Range("a1").End(xlDown).Offset( 1, 0).Seleccione

Este código se utiliza en la hoja de trabajo anterior y se selecciona la celda A5.

¿Cómo seleccionar un rango de celdas de datos continuas en una columna?

Por ejemplo, para seleccionar un rango de celdas de datos contiguas en una columna, puede usar el siguiente código:

ActiveSheet.Range("a1", ActiveSheet.Range("a1 "). End(xlDown)).Select

o: ActiveSheet.Range("a1:" & ActiveSheet.Range("a1").End(xlDown).Address).Select

Este código se utiliza en la hoja de trabajo anterior y se seleccionará el rango de celdas A1:A4.

¿Cómo seleccionar un rango de celdas de datos no continuos en una columna?

Por ejemplo, para seleccionar un rango de celdas de datos no contiguas en una columna, puede usar el siguiente código:

ActiveSheet.Range("a1", ActiveSheet.Range( "a65536") .End(xlUp)).Select

O: ActiveSheet.Range("a1:" & ActiveSheet.Range("a65536").End(xlUp).Address).Select

Este código se utiliza en la hoja de trabajo anterior y se seleccionará el rango de celdas A1:A6.

¿Cómo seleccionar un rango de celdas rectangular (normal)?

Para seleccionar un área rectangular que rodea una celda, puede utilizar el método CurrentRegion. El método CurrentRegion seleccionará una región rodeada de filas y columnas vacías, como el siguiente código:

ActiveSheet.Range("a1").CurrentRegion.Select

Este código se utiliza en En la hoja de trabajo anterior, se seleccionará el rango de celdas A1:C4.

También puedes usar el siguiente código:

ActiveSheet.Range("a1", ActiveSheet.Range("a1").End(xlDown).End(xlToRight)).Select

O:

ActiveSheet.Range("a1:" & ActiveSheet.Range("a1").End(xlDown).End(xlToRight).Address).Select

Si desea Para seleccionar el rango de celdas A1:C6, puede utilizar el siguiente código:

lastCol = ActiveSheet.Range("a1").End(xlToRight).Column

lastRow = ActiveSheet.Cells (65536, lastCol).End(xlUp).Row

ActiveSheet.Range("a1", ActiveSheet.Cells(lastRow, lastCol)).Select

o :

últimaCol = ActiveSheet.Range("a1").End(xlToRight).Column

últimaFila = ActiveSheet.Cells(65536, últimaCol).End(xlUp).Row

ActiveSheet.Range("a1:" & ActiveSheet.Cells(lastRow, lastCol).Address).Select

= = = = = = = = = = = = = = = = = = = =

¿Cómo seleccionar múltiples columnas no consecutivas de diferentes longitudes?

Por ejemplo, existe una hoja de trabajo como la que se muestra a continuación:

Para seleccionar los datos de las columnas A y C al mismo tiempo, es decir, los rangos de celda A1:A3 y C1 :C6, puedes usar el siguiente código:

StartRange = "A1"

EndRange = "C1"

Establecer a = Range(StartRange, Range( StartRange).End( xlDown))

Establecer b = Range(EndRange, Range(EndRange).End(xlDown))

Union(a, b).Select

= = = = = = = = = = = = = = = = = = = =

Nota: Al utilizar el método Application.Goto, si especifica un rango específico en otra hoja de trabajo ( no la hoja de trabajo actual), cuando se usan dos propiedades de Celdas en la propiedad Rango, se debe incluir el objeto Hojas, como por ejemplo:

Application.Goto Sheets("Sheet1").Range(Sheets("Sheet1" ).Range(Hojas( "Hoja1").Celdas(2, 3), Hojas("Hoja1").Celdas(4, 5)))

= = = = = = = = = = = = = = = = = = = =

En VBA, el objeto Rango puede representar una sola celda o un rango de celdas. El siguiente contenido describe los métodos más comunes para identificar y manejar objetos Range.

Hacer referencia a todas las celdas de la hoja de cálculo

Si no especifica un número de índice al aplicar la propiedad Celdas a la hoja de cálculo, este método devolverá un objeto Rango que representa todas las celdas de la hoja de cálculo. . El siguiente subprocedimiento borra el contenido de todas las celdas de la Hoja1 del libro activo.

Sub ClearSheet()

Worksheets("Sheet1").Cells.ClearContents

End Sub

Usa notación A1 para hacer referencia a celdas Celdas y rangos

Puedes usar la propiedad Rango para hacer referencia a celdas o rangos de celdas en el estilo de referencia A1. La siguiente subrutina establece la fuente en negrita en el rango de celdas A1:D5.

Sub FormatRange()

Libros de trabajo("Libro1").Hojas("Hoja1").Rango("A1:D5") _

.Font .Bold = True

End Sub

La siguiente tabla muestra algunas referencias de estilo A1 utilizando la propiedad Rango.

Significado de referencia

Rango("A1") Celda A1

Rango("A1:B5") El rango desde la celda A1 hasta la celda B5

Rango("C5:D9,G9:H16") Múltiples áreas seleccionadas

Rango("A:A") Columna A

Rango( "1:1" ) La primera fila

Rango("A:C") El área desde la columna A hasta la columna C

Rango("1:5") Desde la primera fila El rango desde la fila a la fila 5

Rango("1:1,3:3,8:8") Filas 1, 3 y 8

Rango("A:A, C:C, F:F") Columnas A, C y F

Hacer referencia a filas y columnas

Puede utilizar la propiedad Filas o la propiedad Columnas para procesar filas o columnas enteras. Estas dos propiedades devuelven un objeto Range que representa el rango de celdas. En el siguiente ejemplo, Filas(1) devuelve la primera fila de la Hoja1 y luego pone el área en negrita.

Sub RowBold()

Hojas de trabajo("Sheet1").Rows(1).Font.Bold = True

End Sub

La siguiente tabla ilustra algunas referencias de filas y columnas utilizando las propiedades Filas y Columnas.

Significado de la cita

Filas(1) primera fila

Filas todas las filas de la hoja de cálculo

Columnas(1) primeras columnas

Columnas("A") Primera columna

Columnas Todas las columnas de la hoja de cálculo

Para procesar varias filas o columnas al mismo tiempo, puede crear variables de objeto y utilice el método Unión para combinar varias llamadas a la propiedad Filas o a la propiedad Columnas. El siguiente ejemplo establece en negrita el tamaño de fuente de la primera, tercera y quinta filas de la primera hoja de trabajo del libro activo.

Sub VariasFilas()

Hojas de trabajo("Hoja1").Activar

Atenuar myUnion como rango

Establecer myUnion = Union(Filas (1), Filas(3), Filas(5))

myUnion.Font.Bold = True

End Sub

Utilice el número de índice para hacer referencia la celda

Puedes usar la propiedad Celdas para hacer referencia a celdas individuales usando números de índice de filas y columnas.

Esta propiedad devuelve un objeto Range que representa una sola celda. En el siguiente ejemplo, Celdas(6,1) devuelve la celda A6 en la Hoja1 y luego establece la propiedad Valor en 10.

Sub EnterValue()

Hojas de trabajo("Hoja1").Celdas(6, 1).Value = 10

End Sub

Debido a que puede usar variables en lugar de números, la propiedad Celdas es ideal para recorrer un rango de celdas, como se muestra en el siguiente ejemplo.

Sub CycleThrough()

Atenuar el contador como entero

Para contador = 1 a 20

Hojas de trabajo("Hoja1").Celdas (Contador, 3).Valor = Contador

Siguiente contador

End Sub

Si desea cambiar las propiedades de todas las celdas de un rango al mismo tiempo tiempo (o el método se aplica a todas las celdas del rango), se recomienda utilizar la propiedad Rango.

Usa notación abreviada para hacer referencia a celdas

Puedes usar corchetes para encerrar el estilo de referencia A1 o un rango con nombre como acceso directo a la propiedad Rango. Esto elimina la necesidad de escribir la palabra "Rango" o utilizar comillas, como en el siguiente ejemplo.

Sub ClearRange()

Hojas de trabajo("Hoja1").[A1:B5].ClearContents

End Sub

Sub SetValue ()

[MyRange].Value = 30

End Sub

Usa el objeto Range para hacer referencia a la celda

Si el objeto La variable está configurada como un objeto de rango, puede usar nombres de variables para operar fácilmente en rangos de celdas.

El siguiente procedimiento crea la variable de objeto myRange y la asigna al rango A1:D5 en la Hoja1 del libro activo. Las declaraciones posteriores utilizan este nombre de variable en lugar del objeto Range para modificar las propiedades del rango.

Sub Random()

Atenuar myRange como rango

Establecer myRange = Worksheets("Sheet1").Range("A1:D5")

myRange.Formula = "=RAND()"

myRange.Font.Bold = True

End Sub

Hacer referencia a un rango con nombre

Es más fácil identificar un rango de celdas por su nombre que por la notación de estilo A1. Para nombrar un rango de celdas seleccionado, haga clic en el cuadro de nombre en el extremo izquierdo de la barra de fórmulas, escriba un nombre y luego presione Entrar.

Hacer referencia a un rango con nombre

El siguiente ejemplo hace referencia a un rango llamado "MyRange" en un libro llamado "MyBook.xls".

Sub FormatRange()

Range("MyBook.xls!MyRange").Font.Italic = True

End Sub

El siguiente ejemplo hace referencia al rango específico de la hoja de trabajo "Hoja1!Ventas" en el libro denominado "Report.xls".

SubformatoVentas()

Rango("[Report.xls]Hoja1!Ventas").BorderAround Peso:=xlthin

End Sub

Para seleccionar un rango con nombre, utilice el método GoTo, que activa el libro y la hoja de trabajo y luego selecciona el rango.

Sub ClearRange()

Aplicación.Goto Reference:="MyBook.xls!MyRange"

Selección.ClearContents

End Sub

El siguiente ejemplo muestra cómo se escribiría el mismo procedimiento que el ejemplo anterior para el libro activo.

Sub ClearRange()

Aplicación.Ir a referencia:="MyRange"

Selección.ClearContents

End Sub

Recorre las celdas en el rango con nombre

El siguiente ejemplo utiliza la instrucción de bucle For Each...Next para recorrer cada celda en el rango con nombre. Si el valor de cualquier celda en el rango excede el valor límite, cambie el color de la celda a amarillo.

Sub ApplyColor()

Límite constante como entero = 25

Para cada c en el rango ("MyRange")

Si c .Value > Limitar entonces

c.Interior.ColorIndex = 27

Finalizar si

Siguiente c

End Sub

Hacer referencia a múltiples rangos

Es fácil hacer referencia a múltiples rangos de celdas al mismo tiempo utilizando los métodos adecuados. Puede hacer referencia a cualquier combinación de rangos de celdas con los métodos Rango y Unión; use la propiedad Áreas para hacer referencia a un grupo seleccionado de rangos de celdas en la hoja de trabajo.

Usar la propiedad Rango

Puede usar la propiedad Rango para hacer referencia a múltiples rangos insertando comas entre dos o más referencias. El siguiente ejemplo borra el contenido de tres áreas en la Hoja1.

Sub ClearRanges()

Hojas de trabajo("Hoja1").Rango("C5:D9,G9:H16,B14:D18"). ClearContents

End Sub

Los rangos con nombre facilitan el trabajo con múltiples rangos usando la propiedad Rango. El siguiente ejemplo funciona cuando los tres rangos con nombre están en la misma hoja de trabajo.

Sub ClearNamed()

Range("MyRange, YourRange, HisRange").ClearContents

End Sub

Usar método Unión

Utilice el método Unión para combinar múltiples rangos en un objeto Rango. El siguiente ejemplo crea un objeto Rango llamado myMultipleRange, lo define como la combinación de rangos A1:B2 y C3:D4 y luego establece la fuente del rango combinado en negrita.

Sub MultipleRange()

Dim r1, r2, myMultipleRange As Range

Establecer r1 = Sheets("Sheet1").Range("A1:B2" )

Establecer r2 = Hojas("Hoja1").Range("C3:D4")

Establecer myMultipleRange = Unión(r1, r2)

myMultipleRange .Font.Bold = True

End Sub

Usar la propiedad Áreas

Puedes usar la propiedad Áreas para hacer referencia a un rango de celdas seleccionado o a varios rangos seleccionados Colección regional. El siguiente procedimiento cuenta el número de bloques en el área seleccionada y muestra un mensaje de advertencia si hay varios bloques.

Sub FindMultiple()

Si Selection.Areas.Count > 1 Entonces

MsgBox "No se puede operar en selecciones múltiples".

End If

End Sub

Procesamiento de áreas tridimensionales

Si desea procesar áreas de celda en la misma ubicación en varias hojas de trabajo, puede usar la herramienta Array función para seleccionar dos Una o más hojas de trabajo. El siguiente ejemplo establece el formato de borde de un rango de celdas tridimensional.

SubformatoHojas()

Hojas(Array("Hoja2", "Hoja3", "Hoja5")).Seleccione

Rango("A1:H1 ").Select

Selection.Borders(xlBottom).LineStyle = xlDouble

End Sub

El siguiente ejemplo utiliza el método FillAcrossSheets para cambiar el área en Sheet2 El formato y todos los datos se transfieren a los rangos correspondientes en todas las hojas de trabajo del libro activo.

Sub FillAll()

Hojas de trabajo("Hoja2").Range("A1:H1") _

.Borders(xlBottom).LineStyle = xlDouble

Worksheets.FillAcrossSheets (Worksheets("Sheet2") _

.Range("A1:H1"))

End Sub