Clase Range - área contigua en un documento (Excel VBA)

La clase Range representa una celda, una fila, una columna, una selección de celdas que contienen uno o más bloques de celdas contiguos o un rango 3D.

Las siguientes clases dan acceso a la clase Range ListObject, ListRow, Name, OLEObject, Pane, Parameter, PivotCell, PivotField, PivotItem, PivotTable, QueryTable, Scenario, Shape, Sort, SortField, Sparkline, SparklineGroup, TableObject, Top10, UniqueValues, VPageBreak, Window, Worksheet.

Para usar una variable de clase Range, primero debe ser instanciado, por ejemplo

Dim rng as Range
Set rng = ActiveCell
Los siguientes procedimientos se pueden usar para establecer variables de clase Range : AboveAverage.AppliesTo, AllowEditRange.Range, Application.ActiveCell, Application.Cells, Application.Columns, Application.Intersect, Application.PreviousSelections, Application.Range, Application.Rows, Application.ThisCell, Application.Union, Areas.Item, AutoFilter.Range, Axis.CategoryNames ...ChartObject.BottomRightCell, ChartObject.TopLeftCell, ColorScale.AppliesTo, Databar.AppliesTo, DisplayFormat.AddIndent, DisplayFormat.FormulaHidden, DisplayFormat.HorizontalAlignment, DisplayFormat.IndentLevel, DisplayFormat.MergeCells, DisplayFormat.NumberFormat, DisplayFormat.NumberFormatLocal, DisplayFormat.Orientation, DisplayFormat.ShrinkToFit, DisplayFormat.VerticalAlignment, FormatCondition.AppliesTo, HPageBreak.Location, Hyperlink.Range, IconSetCondition.AppliesTo, ListColumn.DataBodyRange, ListColumn.Range, ListColumn.Total, ListObject.DataBodyRange, ListObject.HeaderRowRange, ListObject.InsertRowRange, ListObject.Range, ListObject.TotalsRowRange, ListRow.Range, Name.RefersToRange, OLEObject.BottomRightCell, OLEObject.TopLeftCell, Pane.VisibleRange, Parameter.SourceRange, PivotCell.Range, PivotField.DataRange, PivotField.LabelRange, PivotItem.DataRange, PivotItem.LabelRange, PivotTable.ColumnRange, PivotTable.DataBodyRange, PivotTable.DataLabelRange, PivotTable.GetPivotData, PivotTable.PageRange, PivotTable.PageRangeCells, PivotTable.RowRange, PivotTable.TableRange1, PivotTable.TableRange2, QueryTable.Destination, QueryTable.ResultRange, Cells, ColumnDifferences, Columns, CurrentArray, CurrentRegion, Dependents, DirectDependents, DirectPrecedents, End, EntireColumn, EntireRow, Find, FindNext, FindPrevious, Item, MergeArea, Next, Offset, Precedents, Previous, Range, Resize, RowDifferences, Rows, SpecialCells, SpillingToRange, SpillParent, Ranges.Item, Scenario.ChangingCells, Shape.BottomRightCell, Shape.TopLeftCell, Sort.Rng, SortField.Key, Sparkline.Location, SparklineGroup.Location, SparklineGroups.Parent, TableObject.Destination, TableObject.ResultRange, Top10.AppliesTo, UniqueValues.AppliesTo, VPageBreak.Location, Window.RangeFromPoint, Window.RangeSelection, Window.VisibleRange, Worksheet.Cells, Worksheet.CircularReference, Worksheet.Columns, Worksheet.Range, Worksheet.Rows, Worksheet.UsedRange, Worksheet.XmlDataQuery, Worksheet.XmlMapQuery.

For Each

A continuación, se muestra un ejemplo de cómo procesar los elementos Range en una colección.

Dim rng As Range: Set rng = 
Dim rngArea As Range
For Each rngArea In rng.Areas
	With rngArea
		
	End With
Next rngArea

Métodos

Activate - Activa una sola celda que debe estar en la selección actual.

Worksheets("Sheet1").Activate 
Range("A1:C3").Select 
Range("B2").Activate

AutoFilter - Filtra una lista mediante Autofiltro.

Worksheets("Sheet1").Range("A1").AutoFilter _
 Field:=1, _
 Criteria1:="Otis", _
 VisibleDropDown:=False

Consolidate - Consolida datos de varios rangos de varias hojas de cálculo en un solo rango de una sola hoja de cálculo.

Worksheets("Sheet1").Range("A1").Consolidate _ 
 Sources:=Array("Sheet2!R1C1:R37C6", "Sheet3!R1C1:R37C6"), _ 
 Function:=xlSum

CopyFromRecordset - Copia el contenido de un objeto Recordset ADO o DAO en una hoja de cálculo, comenzando en la esquina superior izquierda del rango especificado.

Dim lngCopyFromRecordset As Long
lngCopyFromRecordset = ActiveCell.CopyFromRecordset(Data:=)

CopyPicture - Copia el objeto seleccionado en el Portapapeles como una imagen.

ActiveCell.CopyPicture

ExportAsFixedFormat - Exporta a un archivo con el formato especificado.

ActiveCell.ExportAsFixedFormat Type:=xlTypePDF

FillDown - Rellena hacia abajo desde la celda o celdas superiores del rango especificado hasta el final del rango.

Worksheets("Sheet1").Range("A1:A10").FillDown

FillRight - Rellena hacia la derecha desde la celda o celdas que están más a la izquierda en el rango especificado.

Worksheets("Sheet1").Range("A1:M1").FillRight

Find - Busca información específica en una hoja de cálculo.

Dim strWhat As String: strWhat = 
Dim rngFind As Range
Set rngFind = Worksheets("Sheet1").Range("A1:A10").Find(What:=strWhat)

Merge - Crea una celda combinada a partir del objeto Range especificado.

ActiveCell.Merge

PasteSpecial - Pega un objeto Range que se ha copiado en el rango especificado.

With Worksheets("Sheet1") 
 .Range("C1:C5").Copy 
 .Range("D1:D5").PasteSpecial _ 
  Operation:=xlPasteSpecialOperationAdd 
End With

PrintOut - Imprime el objeto.

ActiveCell.PrintOut

Select - Selecciona el objeto.

ActiveCell.Select

Subtotal - Crea subtotales para el rango (o la región actual, si el rango sólo tiene una celda).

Worksheets("Sheet1").Activate 
Selection.Subtotal GroupBy:=1, Function:=xlSum, _ 
 TotalList:=Array(2, 3)

AddComment - Agrega un comentario al rango.

AddCommentThreaded - Agrega un nuevo comentario de encadenamiento moderno al intervalo si no hay ningún comentario ya existente.

AdvancedFilter - Filtra o copia datos desde una lista en función de un rango de criterios.

AllocateChanges - Realiza una operación de reescritura para todas las celdas editadas de un rango basado en un origen de datos OLAP.

ApplyNames - Aplica nombres a las celdas del rango especificado.

ApplyOutlineStyles - Aplica estilos de esquema al rango especificado.

AutoComplete - Devuelve una coincidencia de Autocompletar de la lista.

AutoFill - Realiza el autorelleno de las celdas en el rango especificado.

AutoFit - Cambia la anchura de las columnas del rango o la altura de las filas del rango para conseguir el mejor ajuste.

AutoOutline - Crea automáticamente un esquema en el rango especificado.

BorderAround - Agrega un borde a un rango y establece las propiedades color, LineStyle y Weight del objeto Border para el nuevo borde.

Calculate - Calcula todos los libros abiertos, una hoja de cálculo específica de un libro o un rango de celdas especificado en una hoja de cálculo, tal como se muestra en la tabla de la sección Comentarios.

CalculateRowMajorOrder - Calcula un rango de celdas especificado.

CheckSpelling - Comprueba la ortografía de un objeto.

Clear - Borra todo el objeto.

ClearComments - Borra todos los comentarios de celda del rango especificado.

ClearContents - Borra las fórmulas y los valores del rango.

ClearFormats - Borra el formato del objeto.

ClearHyperlinks - Quita todos los hipervínculos del rango especificado.

ClearNotes - Borra las notas escritas y las notas sonoras de todas las celdas del rango especificado.

ClearOutline - Borra el esquema del rango especificado.

ColumnDifferences - Devuelve un objeto Range que representa todas las celdas cuyo contenido es diferente del de la celda de comparación de cada columna.

ConvertToLinkedDataType - Intenta convertir todas las celdas del rango en un tipo de datos vinculados como Cotizaciones o Geografía.

Copy - Copia el rango en el rango especificado o en el Portapapeles.

CreateNames - Crea nombres en el rango especificado basándose en los rótulos de texto de la hoja.

Cut - Corta el objeto y lo pega en el Portapapeles o en un destino especificado.

DataSeries - Crea una serie de datos en el rango especificado.

DataTypeToText - Si alguna de las celdas del rango es un tipo de datos vinculado, como cotizaciones o geografía, esta llamada convertirá sus valores en texto.

Delete - Elimina el objeto.

Dirty - Designa un rango que se deberá actualizar cuando se realice la próxima actualización.

DiscardChanges - Descarta todos los cambios realizados en las celdas editadas del rango.

FillLeft - Rellena hacia la izquierda desde la celda o celdas que están más a la derecha en el rango especificado.

FillUp - Rellena hacia arriba desde la celda o celdas inferiores del rango especificado hasta el principio del rango.

FindNext - Sigue una búsqueda iniciada con el método Find .

FindPrevious - Sigue una búsqueda iniciada con el método Find .

FlashFill - True indica que la característica de relleno flash de Excel se ha habilitado y está activa.

FunctionWizard - Ejecuta el Asistente para funciones en la celda superior izquierda del rango.

Group - Cuando el objeto Range representa una sola celda del rango de datos de un campo de tabla dinámica, el método Group realiza un agrupamiento numérico o basado en la fecha en ese campo.

Insert - Inserta una celda o un rango de celdas en la hoja de cálculo o en la hoja de macros y desplaza las otras celdas para crear espacio.

InsertIndent - Agrega una sangría al rango especificado.

Justify - Reorganiza el texto de un rango para rellenarlo uniformemente.

ListNames - Pega una lista de todos los nombres no ocultos en la hoja de cálculo, comenzando por la primera celda del rango.

NavigateArrow - Mueve una flecha de seguimiento del rango especificado a la celda o celdas precedentes, dependientes o causantes de error.

NoteText - Devuelve o establece la nota asociada con la celda que se encuentra en la esquina superior izquierda del rango.

Parse - Redistribuye un rango de datos y lo divide en varias celdas.

PrintPreview - Muestra una vista preliminar del objeto tal como aparecería impreso.

RefreshLinkedDataType -

RemoveDuplicates - Quita de un rango de valores los valores duplicados.

RemoveSubtotal - Elimina los subtotales de una lista.

Replace - Devuelve un valor Boolean que indica los caracteres de las celdas del rango especificado.

RowDifferences - Devuelve un objeto Range que representa todas las celdas cuyo contenido es diferente del de la celda de comparación de cada fila.

Run - Ejecuta la macro de Microsoft Excel en esta ubicación.

SetCellDataTypeFromCell - Crea otra instancia de un tipo de datos vinculados, como cotizaciones o geografía, que existe en otra celda.

SetPhonetic - Crea objetos Phonetic para todas las celdas del rango especificado.

Show - Desplaza el contenido de la ventana activa para mostrar el rango.

ShowCard - Para una celda que contiene un tipo de datos vinculados, como poblaciones o geografía, este método hace que aparezca una tarjeta que muestra detalles sobre la celda (es decir, la misma tarjeta que el usuario puede ver eligiendo el icono de celda).

ShowDependents - Dibuja flechas de rastreo a las celdas dependientes directas del rango.

ShowErrors - Dibuja flechas de rastreo a través del árbol de celdas precedentes a la celda que es el origen del error y devuelve el rango que contiene esa celda.

ShowPrecedents - Dibuja flechas de rastreo a las celdas precedentes directas del rango.

Sort - Ordena un rango de valores.

SortSpecial - Utiliza métodos de ordenación de idiomas del este asiático para ordenar el rango o el informe de tabla dinámica, o usa el método para la región activa si el rango sólo contiene una celda.

Speak - Hace que las celdas del rango se digan por filas o por columnas.

SpecialCells - Devuelve un objeto Range que representa todas las celdas que coinciden con el tipo y valor especificados.

Table - Crea una tabla de datos basada en valores de entrada y fórmulas que se definen en una hoja de cálculo.

TextToColumns - Redistribuye una columna de celdas que contiene texto en varias columnas.

Ungroup - Promueve un rango en un esquema (es decir, reduce su nivel de esquema).

UnMerge - Separa un área combinada en celdas individuales.

Propiedades

AddIndent Devuelve o establece un valor de tipo Variant que indica si se aplica sangría al texto automáticamente cuando la alineación del texto de una celda se establece en una distribución Igualada (ya sea horizontal o vertical).

Address Devuelve un valor String que representa la referencia de rango en el lenguaje de la macro.

AddressLocal Devuelve la referencia del rango para el rango especificado en el idioma del usuario.

AllowEdit Devuelve un valor de tipo Boolean que indica si el rango se puede modificar en una hoja de cálculo protegida.

Areas Devuelve una colección areas que representa todos los rangos de una selección de varias áreas.

Borders Devuelve una colección Borders que representa los bordes de un estilo o de un rango de celdas (incluido un rango definido como parte de un formato condicional).

Cells Devuelve un objeto Range que representa las celdas del rango especificado.

Characters Devuelve un objeto Characters que representa un rango de caracteres dentro del texto del objeto.

Column Devuelve el número de la primera columna de la primera área en el rango especificado.

Columns Devuelve un objeto Range que representa las columnas del rango especificado.

ColumnWidth Devuelve o establece el ancho de las columnas del rango especificado.

Comment Devuelve un objeto comment que representa el comentario asociado a la celda de la esquina superior izquierda del rango.

CommentThreaded Devuelve un objeto CommentThreaded que representa el comentario encadenado asociado con la celda de la esquina superior izquierda del rango.

Count Devuelve un valor Long que representa el número de objetos de la colección.

CountLarge Devuelve un valor que representa el número de objetos de la colección.

CurrentArray Si la celda especificada forma parte de una matriz, devuelve un objeto Range que representa toda la matriz.

CurrentRegion Devuelve un objeto Range que representa la región actual.

Dependents Devuelve un objeto Range que representa el rango que contiene todas las celdas dependientes de una celda.

DirectDependents Devuelve un objeto Range que representa el rango que contiene todas las celdas dependientes directas de una celda.

DirectPrecedents Devuelve un objeto Range que representa el rango que contiene todas las celdas precedentes directas de una celda.

DisplayFormat Devuelve un objeto DisplayFormat que representa la configuración de presentación para el rango especificado.

End Devuelve un objeto Range que representa la celda al final de la región que contiene el rango de origen.

EntireColumn Devuelve un objeto Range que representa toda la columna (o columnas) que contiene el rango especificado.

EntireRow Devuelve un objeto Range que representa toda la fila (o filas) que contiene el rango especificado.

Errors Permite al usuario tener acceso a opciones de comprobación de errores.

Font Devuelve un objeto Font que representa la fuente del objeto especificado.

FormatConditions Devuelve una colección FormatConditions que representa todos los formatos condicionales del rango especificado.

Formula Devuelve o establece un valor de tipo Variant que representa la fórmula de intersección implícita del objeto en notación de estilo a1.

Formula2 Devuelve o establece un valor de tipo Variant que representa la fórmula del objeto en la notación de matriz de estilo a1.

Formula2Local Esta es la variante Formula2 de Range. FormulaLocal.

Formula2R1C1 Esta es la variante Formula2 de Range. FormulaR1C1.

Formula2R1C1Local Esta es la variante Formula2 de Range. FormulaR1C1Local.

FormulaArray Devuelve o establece la fórmula de matriz de un rango.

FormulaHidden Devuelve o establece un valor de tipo Variant que indica si la fórmula se ocultará cuando la hoja de cálculo esté protegida.

FormulaLocal Devuelve o establece la fórmula del objeto mediante referencias de estilo A1 en el idioma del usuario.

FormulaR1C1 Devuelve o establece la fórmula para el objeto mediante referencias de estilo R1C1 en el lenguaje de macro.

FormulaR1C1Local Devuelve o establece la fórmula para el objeto, mediante la notación de estilo F1C1 en el idioma del usuario.

HasArray True si la celda especificada forma parte de una fórmula de matriz.

HasFormula True si todas las celdas del rango contienen fórmulas; False si ninguna de las celdas del rango contiene una fórmula; null en los demás casos.

HasRichDataType True si todas las celdas del rango contienen un tipo de datos enriquecidos.

HasSpill True si todas las celdas del rango forman parte de un intervalo derramado; False si ninguna de las celdas del rango forma parte de un intervalo derramado; en caso contrario, es null .

Height Devuelve un valor de tipo Double que representa el alto, en puntos, del rango.

Hidden Devuelve o establece un valor de tipo Variant que indica si las filas o columnas están ocultas.

HorizontalAlignment Devuelve o establece un valor de tipo Variant que representa la alineación horizontal del objeto especificado.

Hyperlinks Devuelve una colección Hyperlinks que representa los hipervínculos del rango.

ID Devuelve o establece un valor de tipo String que representa el rótulo de identificación de la celda especificada cuando la página se guarda como una página web.

IndentLevel Devuelve o establece un valor de tipo Variant que representa el nivel de sangría de la celda o del rango.

Interior Devuelve un objeto Interior que representa el interior del objeto especificado.

Item Devuelve un objeto Range que representa un rango desplazado con respecto al rango especificado.

Left Devuelve un valor de tipo Variant que representa la distancia, en puntos, desde el borde izquierdo de la columna a hasta el borde izquierdo del rango.

LinkedDataTypeState Devuelve información sobre el estado de los tipos de datos vinculados, como Cotizaciones o Geografía, en el rango.

ListHeaderRows Devuelve el número de filas de encabezado para el rango especificado.

ListObject Devuelve un objeto ListObject para el objeto de intervalo .

LocationInTable Devuelve una constante que describe la parte del informe de tabla dinámica que contiene la esquina superior izquierda del rango especificado.

Locked Devuelve o establece un valor Variant que indica si el objeto está bloqueado.

MDX Devuelve el nombre MDX del objeto Range especificado.

MergeArea Devuelve un objeto Range que representa el rango combinado que contiene la celda especificada.

MergeCells True si el rango contiene celdas combinadas.

Name Devuelve o establece un valor de tipo Variant que representa el nombre del objeto.

Next Devuelve un objeto Range que representa la celda siguiente.

NumberFormat Devuelve o establece un valor Variant que representa el código de formato del objeto.

NumberFormatLocal Devuelve o establece un valor de tipo Variant que representa el código de formato del objeto, en forma de cadena de caracteres en el idioma del usuario.

Offset Devuelve un objeto Range que representa un rango desplazado del rango especificado.

Orientation Devuelve o establece un valor de tipo Variant que representa la orientación del texto.

OutlineLevel Devuelve o establece el nivel de esquema actual de la columna o fila especificada.

PageBreak Devuelve o establece la ubicación de un salto de página.

Parent Devuelve el objeto primario del objeto especificado.

Phonetic Devuelve el objeto Phonetic , que contiene información sobre una cadena de texto fonético específica de una celda.

Phonetics Devuelve la colección Phonetics del intervalo.

PivotCell Devuelve un objeto PivotCell que representa una celda de un informe de tabla dinámica.

PivotField Devuelve un objeto PivotField que representa el campo de tabla dinámica que contiene la esquina superior izquierda del rango especificado.

PivotItem Devuelve un objeto PivotItem que representa el elemento de tabla dinámica que contiene la esquina superior izquierda del rango especificado.

PivotTable Devuelve un objeto PivotTable que representa el informe de tabla dinámica que contiene la esquina superior izquierda del rango especificado.

Precedents Devuelve un objeto Range que representa todas las celdas precedentes de una celda.

PrefixCharacter Devuelve el carácter de prefijo de la celda.

Previous Devuelve un objeto Range que representa la celda anterior.

QueryTable Devuelve un objeto QueryTable que representa la tabla de consulta que forma una intersección con el objeto Range especificado.

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

ReadingOrder Devuelve o establece el orden de lectura del objeto especificado.

Resize Cambia el tamaño del rango especificado.

Row Devuelve el número de la primera fila de la primera área del rango.

RowHeight Devuelve o establece el alto de la primera fila del rango especificado, medido en puntos.

Rows Devuelve un objeto Range que representa las celdas del rango especificado.

SavedAsArray True si todas las celdas del rango se guardarían en el archivo como una fórmula de matriz; False si ninguna de las celdas del rango se guarda en el archivo como una fórmula de matriz heredada; en caso contrario, es null .

ServerActions Especifica las acciones que se pueden realizar en el servidor SharePoint con un objeto Range.

ShowDetail Es True si el esquema se expande en el rango especificado (para que la información detallada de la columna o la fila esté visible).

ShrinkToFit Devuelve o establece un valor de tipo Variant que indica si el texto se reduce automáticamente para ajustarse al ancho de columna disponible.

SoundNote Esta propiedad no debe ser usada.

SparklineGroups Devuelve un objeto SparklineGroups que representa un grupo existente de minigráficos del intervalo especificado.

SpillingToRange

SpillParent Si una celda es un miembro de un derrame, devuelve la celda que contiene la fórmula responsable.

Style Devuelve o establece un valor de tipo Variant que contiene un objeto Style y representa el estilo del rango especificado.

Summary True si el rango es una fila o columna de resumen de esquema.

Text Devuelve el texto con formato para el objeto especificado.

Top Devuelve un valor de tipo Variant que representa la distancia, en puntos, desde el borde superior de la fila 1 hasta el borde superior del rango.

UseStandardHeight True si el alto de las filas del objeto Range es igual que el alto estándar de la hoja.

UseStandardWidth True si el ancho de columna del objeto Range es igual que el ancho estándar de la hoja.

Validation Devuelve el objeto Validation que representa la validación de datos para el rango especificado.

Value Devuelve o establece un valor Variante que representa el valor del rango especificado.

Value2 Devuelve o establece el valor de la celda.

VerticalAlignment Devuelve o establece un valor de tipo Variant que representa la alineación vertical del objeto especificado.

Width Devuelve un valor de tipo Double que representa el ancho de un intervalo en puntos.

Worksheet Devuelve un objeto Worksheet que representa la hoja de cálculo que contiene el rango especificado.

WrapText Devuelve o establece un valor de tipo Variant que indica si Microsoft Excel ajusta de forma automática el texto del objeto.

XPath Devuelve un objeto XPath que representa la expresión XPath del elemento asignado al objeto Range especificado.

Actions - Colección de todos los objetos Action de la serie especificada.

Areas - Colección de áreas, o bloques de celdas contiguas, de una selección.

Border - Representa el borde de un objeto.

Borders - Colección de cuatro objetos Border que representan los cuatro bordes de un objeto Range o un objeto Style .

Characters - Representa los caracteres de un objeto que contiene texto.

Comment - Representa un comentario de celda.

CommentThreaded - Representa el comentario encadenado de una celda.

DisplayFormat - Representa la configuración de presentación de un objeto Range asociado.

Errors - Representa los distintos errores de hoja de cálculo para un rango.

Font - Contiene los atributos de fuente (nombre, tamaño, color, etc.) de un objeto.

FormatConditions - Representa la colección de formatos condicionales de un rango.

Hyperlinks - Representa la colección de hipervínculos de una hoja de cálculo o de un rango.

Interior - Representa el interior de un objeto.

ListObject - Representa un objeto de lista que hay en la colección**ListObjects**.

Phonetic - Contiene información relativa a una cadena específica de texto fonético en una celda.

Phonetics - Colección de todos los objetos Phonetic del intervalo especificado.

PivotCell - Representa una celda de un informe de tabla dinámica.

PivotField - Representa un campo de un informe de tabla dinámica.

PivotItem - Representa un elemento de un campo de tabla dinámica.

PivotTable - Representa un informe de tabla dinámica de una hoja de cálculo.

QueryTable - Representa una tabla de hoja de cálculo creada a partir de los datos devueltos de un origen de datos externo, como SQL Server o una base de datos de Microsoft Access.

SoundNote -

SparklineGroups - Representa una colección de grupos de minigráficos.

Style - Representa la descripción de un estilo para un rango.

Validation - Representa la validación de datos para un rango de hoja de cálculo.

Worksheet - Representa una hoja de cálculo.

XPath - Representa una expresión XPath asignada a un objeto Range o ListColumn .