Propiedad Worksheet.Range (Excel)

Devuelve un objeto Range que representa una celda o un rango de celdas.

Sintaxis

expresión. Rango (Cell1, Cell2)

Expresión Variable que representa un objeto Worksheet .

Parameters

Nombre Obligatorio/opcional Tipo de datos Descripción
Cell1 Obligatorio Variant Cadena que es una referencia de rango cuando se usa un argumento. Una cadena que es una referencia de rango o un objeto Range cuando se usan dos argumentos.
Cell2 Opcional Variant String que es una referencia de rango o un objeto Range . Cell2 define otra extremidad del intervalo devuelto por la propiedad .

Comentarios

Cell1 y Cell2 pueden ser referencias de estilo A1 en el idioma de la macro. Las referencias de rango pueden incluir el operador de intervalo (dos puntos), el operador de intersección (un espacio) o el operador de unión (una coma). También pueden incluir signos de dólar, que se omiten. Un nombre definido local puede ser una referencia de intervalo. Si se usa un nombre, se da por supuesto que está en el lenguaje de la macro.

Cell1 y Cell2 pueden ser objetos Range que contienen una sola celda, columna, fila o cualquier otro rango de celdas.

A menudo, Cell1 y Cell2 son celdas únicas en las esquinas superior izquierda e inferior derecha del rango devuelto.

Cuando se usa sin un calificador de objeto, esta propiedad es un acceso directo para ActiveSheet.Range (devuelve un rango de la hoja activa; si la hoja activa no es una hoja de cálculo, se produce un error en la propiedad ).

Cuando se aplica a un objeto Range, la propiedad es relativa al objeto Range. Por ejemplo, si la selección es la celda C3, Selection.Range("B1") devuelve la celda D3 porque es relativa al objeto Range devuelto por la propiedad Selection . En cambio, el código ActiveSheet.Range("B1") siempre devuelve la celda B1.

Ejemplos

En este ejemplo se establece el valor de la celda A1 de Sheet1 como 3.14159.

Worksheets("Sheet1").Range("A1").Value = 3.14159

Este ejemplo crea una fórmula en la celda A1 de Sheet1.

Worksheets("Sheet1").Range("A1").Formula = "=10*RAND()"

Este ejemplo bucle en las celdas A1:D10 de la Hoja1 del libro activo. Si una de las celdas presenta un valor inferior a 0,001, el código reemplaza dicho valor por un 0 (cero).

For Each c in Worksheets("Sheet1").Range("A1:D10") 
 If c.Value < .001 Then 
 c.Value = 0 
 End If 
Next c

En este ejemplo se recorre en bucle el rango denominado TestRange y se muestra el número de celdas vacías en el rango.

numBlanks = 0 
For Each c In Range("TestRange") 
 If c.Value = "" Then 
 numBlanks = numBlanks + 1 
 End If 
Next c 
MsgBox "There are " & numBlanks & " empty cells in this range"

En este ejemplo se establece en cursiva el estilo de fuente de las celdas A1:C5 de Sheet1 del libro activo. El ejemplo usa Syntax 2 de la propiedad Range.

With Worksheets("Sheet1")
	.Range(.Cells(1, 1), .Cells(5, 3)).Font.Italic = True
End With

En este ejemplo se comparan la propiedad Worksheet.Range , el método Application.Union y el método Application.Intersect .

Range("A1:A10").Select                            'Selects cells A1 to A10.
Range(Range("A1"), Range("A10")).Select           'Selects cells A1 to A10.
 Range("A1, A10").Select                          'Selects cells A1 and A10.
Union(Range("A1"), Range("A10")).Select           'Selects cells A1 and A10.
 Range("A1:A5 A5:A10").Select                     'Selects cell A5.
Intersect(Range("A1:A5"), Range("A5:A10")).Select 'Selects cell A5.

Soporte técnico y comentarios

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.