Cómo agregar rango con nombre en C# con IronXL
Un rango con nombre es un rango de celdas específico identificado por un nombre único. En lugar de referirse a un rango por sus direcciones de celda (como A1:B10), puede asignar un nombre a un rango, haciéndolo más fácil de referenciar y entender en fórmulas y funciones. Por ejemplo, si nombraste un rango "SalesData", podrías referirte a él en una fórmula como SUM(SalesData) en lugar de especificar directamente el rango de celdas.
Los rangos con nombre son especialmente útiles cuando se trabaja con fórmulas de Excel en C#, ya que hacen que el código sea más legible y fácil de mantener. Cuando se combinan con las potentes capacidades de selección de rangos de IronXL, los rangos con nombre se convierten en una herramienta esencial para la gestión eficiente de hojas de cálculo.
como-título:2(Inicio rápido: Añadir un Rango con Nombre con IronXL en una línea)
Defina un rango con nombre utilizando IronXL con una sola llamada a un método. Seleccione su rango y aplique el método SaveAsNamedRange.
Empieza a crear PDF con NuGet ahora:
Instalar IronXL con el gestor de paquetes NuGet
Copie y ejecute este fragmento de código.
new IronXL.WorkBook() .DefaultWorkSheet["A1:B2"].SaveAsNamedRange("MyRange", true);Despliegue para probar en su entorno real
Empieza a utilizar IronXL en tu proyecto hoy mismo con una prueba gratuita
Flujo de trabajo mínimo (5 pasos)
- Descargue la biblioteca C# para agregar rangos con nombre
- Seleccione el intervalo de destino con
workSheet["A1:A5"] - Utilice el método
AddNamedRangepara agregar rangos con nombre - Recuperar rango con nombre de varias maneras
- Elimine el rango nombrado con facilidad utilizando el método
RemoveNamedRange
¿Cómo añado un rango con nombre a mi hoja de cálculo?
Para añadir un rango con nombre, utiliza el método AddNamedRange pasando el nombre del rango con nombre como texto y el objeto de rango. Este método forma parte de las completas funciones de gestión de hojas de trabajo de IronXL.
:path=/static-assets/excel/content-code-examples/how-to/named-range-add-named-range.csusing IronXL;
WorkBook workBook = WorkBook.Create();
WorkSheet workSheet = workBook.DefaultWorkSheet;
// Select range
var selectedRange = workSheet["A1:A5"];
// Add named range
workSheet.AddNamedRange("range1", selectedRange);
workBook.SaveAs("addNamedRange.xlsx");Imports IronXL
Private workBook As WorkBook = WorkBook.Create()
Private workSheet As WorkSheet = workBook.DefaultWorkSheet
' Select range
Private selectedRange = workSheet("A1:A5")
' Add named range
workSheet.AddNamedRange("range1", selectedRange)
workBook.SaveAs("addNamedRange.xlsx")Al crear rangos con nombre, es importante seguir las convenciones de nomenclatura de Excel:
- Los nombres deben empezar por una letra o guión bajo
- Los nombres no pueden contener espacios (utilice guiones bajos)
- Los nombres no pueden entrar en conflicto con referencias a celdas (como "A1" o "R1C1")
- Los nombres no distinguen entre mayúsculas y minúsculas, pero mantener la coherencia mejora la legibilidad

También se pueden crear rangos con nombre para selecciones no contiguas o filas/columnas enteras. Para operaciones de rango más complejas, consulte la guía sobre combinar varios rangos de Excel.
¿Cómo puedo recuperar rangos con nombre de mi libro de trabajo?
¿Qué método obtiene todos los rangos nombrados a la vez?
El método GetNamedRanges devuelve todos los rangos con nombre de la hoja de cálculo como una lista de cadenas. Esto resulta especialmente útil cuando se necesita auditar o documentar todos los rangos con nombre de un libro de trabajo, de forma similar a como podría cargar hojas de cálculo existentes para analizar su estructura.
:path=/static-assets/excel/content-code-examples/how-to/named-range-retrieve-all-named-range.csusing IronXL;
WorkBook workBook = WorkBook.Load("addNamedRange.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;
// Get all named range
var namedRangeList = workSheet.GetNamedRanges();Imports IronXL
Private workBook As WorkBook = WorkBook.Load("addNamedRange.xlsx")
Private workSheet As WorkSheet = workBook.DefaultWorkSheet
' Get all named range
Private namedRangeList = workSheet.GetNamedRanges()¿Cómo puedo encontrar un rango específico por su nombre?
Usa el método FindNamedRange para recuperar la referencia absoluta del rango con nombre, como Sheet1!$A$1:$A$5. La fórmula de dirección puede luego ser utilizada para referenciar el rango con nombre o seleccionar el rango correspondiente al rango con nombre. Al seleccionar el rango, debes prestar atención al nombre de la hoja de cálculo.
:path=/static-assets/excel/content-code-examples/how-to/named-range-retrieve-specific-named-range.csusing IronXL;
WorkBook workBook = WorkBook.Load("addNamedRange.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;
// Get named range address
string namedRangeAddress = workSheet.FindNamedRange("range1");
// Select range
var range = workSheet[$"{namedRangeAddress}"];Imports IronXL
Private workBook As WorkBook = WorkBook.Load("addNamedRange.xlsx")
Private workSheet As WorkSheet = workBook.DefaultWorkSheet
' Get named range address
Private namedRangeAddress As String = workSheet.FindNamedRange("range1")
' Select range
Private range = workSheet($"{namedRangeAddress}")Trabajar con rangos con nombre en varias hojas de cálculo
Los rangos con nombre pueden tener un alcance a nivel de libro de trabajo o a nivel de hoja de cálculo. Los nombres a nivel de libro de trabajo son accesibles desde cualquier hoja de trabajo, mientras que los nombres a nivel de hoja de trabajo sólo son accesibles dentro de su hoja de trabajo específica. Esta distinción es importante a la hora de gestionar varias hojas de cálculo en sus archivos de Excel.
// Example: Accessing named ranges from different worksheets
WorkBook workBook = WorkBook.Load("multisheet.xlsx");
WorkSheet sheet1 = workBook.GetWorkSheet("Sheet1");
WorkSheet sheet2 = workBook.GetWorkSheet("Sheet2");
// Both can access a workbook-level named range
var range1 = sheet1["GlobalData"];
var range2 = sheet2["GlobalData"]; // Same named range// Example: Accessing named ranges from different worksheets
WorkBook workBook = WorkBook.Load("multisheet.xlsx");
WorkSheet sheet1 = workBook.GetWorkSheet("Sheet1");
WorkSheet sheet2 = workBook.GetWorkSheet("Sheet2");
// Both can access a workbook-level named range
var range1 = sheet1["GlobalData"];
var range2 = sheet2["GlobalData"]; // Same named rangeIRON VB CONVERTER ERROR developers@ironsoftware.com¿Cómo puedo eliminar un rango con nombre de mi hoja de cálculo?
Para eliminar el rango con nombre, usa el método RemoveNamedRange pasando el nombre del rango con nombre como texto. Esto es esencial para mantener los libros de trabajo limpios y organizados y evitar conflictos de nombres al actualizar las estructuras de las hojas de cálculo.
:path=/static-assets/excel/content-code-examples/how-to/named-range-remove-named-range.csusing IronXL;
WorkBook workBook = WorkBook.Load("addNamedRange.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;
// Remove named range
workSheet.RemoveNamedRange("range1");Imports IronXL
Private workBook As WorkBook = WorkBook.Load("addNamedRange.xlsx")
Private workSheet As WorkSheet = workBook.DefaultWorkSheet
' Remove named range
workSheet.RemoveNamedRange("range1")Escenarios avanzados de rango con nombre
Uso de rangos con nombre con fórmulas
Los rangos con nombre brillan realmente cuando se utilizan con fórmulas de Excel. Hacen que las fórmulas sean más legibles y fáciles de mantener. Para una gestión completa de las fórmulas, consulte la guía sobre Fórmulas Excel en C#.
// Create named ranges for formula use
WorkBook workBook = WorkBook.Create();
WorkSheet workSheet = workBook.DefaultWorkSheet;
// Create sample data
workSheet["A1:A5"].Value = new int[] { 10, 20, 30, 40, 50 };
workSheet["B1:B5"].Value = new int[] { 5, 10, 15, 20, 25 };
// Add named ranges
workSheet.AddNamedRange("FirstColumn", workSheet["A1:A5"]);
workSheet.AddNamedRange("SecondColumn", workSheet["B1:B5"]);
// Use named ranges in formulas
workSheet["D1"].Formula = "=SUM(FirstColumn)";
workSheet["D2"].Formula = "=AVERAGE(SecondColumn)";
workSheet["D3"].Formula = "=SUM(FirstColumn) + SUM(SecondColumn)";
// Evaluate formulas
workSheet.EvaluateAll();// Create named ranges for formula use
WorkBook workBook = WorkBook.Create();
WorkSheet workSheet = workBook.DefaultWorkSheet;
// Create sample data
workSheet["A1:A5"].Value = new int[] { 10, 20, 30, 40, 50 };
workSheet["B1:B5"].Value = new int[] { 5, 10, 15, 20, 25 };
// Add named ranges
workSheet.AddNamedRange("FirstColumn", workSheet["A1:A5"]);
workSheet.AddNamedRange("SecondColumn", workSheet["B1:B5"]);
// Use named ranges in formulas
workSheet["D1"].Formula = "=SUM(FirstColumn)";
workSheet["D2"].Formula = "=AVERAGE(SecondColumn)";
workSheet["D3"].Formula = "=SUM(FirstColumn) + SUM(SecondColumn)";
// Evaluate formulas
workSheet.EvaluateAll();IRON VB CONVERTER ERROR developers@ironsoftware.comRangos dinámicos con nombre
Aunque IronXL no admite directamente los rangos con nombre dinámicos de Excel (utilizando las funciones OFFSET o INDEX), puede actualizar mediante programación los rangos con nombre basándose en los cambios de datos:
// Update named range based on data size
WorkBook workBook = WorkBook.Load("dynamicData.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;
// Find last row with data
int lastRow = 1;
while (!workSheet[$"A{lastRow}"].IsEmpty)
{
lastRow++;
}
lastRow--; // Adjust to actual last row
// Remove old range and add new one
workSheet.RemoveNamedRange("DataRange");
workSheet.AddNamedRange("DataRange", workSheet[$"A1:A{lastRow}"]);// Update named range based on data size
WorkBook workBook = WorkBook.Load("dynamicData.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;
// Find last row with data
int lastRow = 1;
while (!workSheet[$"A{lastRow}"].IsEmpty)
{
lastRow++;
}
lastRow--; // Adjust to actual last row
// Remove old range and add new one
workSheet.RemoveNamedRange("DataRange");
workSheet.AddNamedRange("DataRange", workSheet[$"A1:A{lastRow}"]);IRON VB CONVERTER ERROR developers@ironsoftware.comRangos con nombre para la validación de datos
Los rangos con nombre son excelentes para crear listas de validación de datos y restricciones. Cuando se combinan con las funciones de validación de datos de Excel, ofrecen una potente forma de garantizar la integridad de los datos:
// Create a named range for validation list
workSheet["F1:F5"].Value = new string[] { "Option1", "Option2", "Option3", "Option4", "Option5" };
workSheet.AddNamedRange("ValidationList", workSheet["F1:F5"]);
// Apply to data validation (conceptual example)
// The actual validation would reference "ValidationList"// Create a named range for validation list
workSheet["F1:F5"].Value = new string[] { "Option1", "Option2", "Option3", "Option4", "Option5" };
workSheet.AddNamedRange("ValidationList", workSheet["F1:F5"]);
// Apply to data validation (conceptual example)
// The actual validation would reference "ValidationList"IRON VB CONVERTER ERROR developers@ironsoftware.comMejores prácticas y consejos de rendimiento
- Convenciones de nomenclatura: Utilice nombres descriptivos y coherentes que indiquen la finalidad de los datos (por ejemplo, <código>Ventas_Q1_2024</código> en lugar de "Datos1")
- Gestión del ámbito de aplicación: tenga en cuenta el ámbito de aplicación del libro de trabajo frente al de la hoja de cálculo para evitar conflictos
- Documentación: Mantener una lista de rangos con nombre y sus propósitos, especialmente en libros de trabajo complejos
- Rendimiento: Los rangos con nombre tienen un impacto mínimo en el rendimiento, pero hay que evitar crear miles de pequeños rangos con nombre
- Actualizaciones: Cuando cambien las estructuras de datos, actualiza o elimina los rangos con nombre correspondientes para mantener la precisión
Para operaciones de Excel más avanzadas y optimización del rendimiento, explore la documentación completa de IronXL o consulte funciones específicas como clasificar rangos de Excel o trabajar con tablas de Excel.
Preguntas Frecuentes
¿Cómo puedo crear un rango con nombre en Excel utilizando C#?
Para crear un rango con nombre en Excel usando C# con IronXL, seleccione su rango de destino utilizando el indexador de hoja de trabajo (por ejemplo, workSheet["A1:B2"]) y luego llame al método SaveAsNamedRange con el nombre deseado. También puede utilizar el método AddNamedRange pasando el nombre como texto y el objeto de rango.
¿Cuáles son las reglas de denominación de los rangos con nombre de Excel?
Cuando utilice IronXL para crear rangos con nombre, siga estas convenciones de nomenclatura de Excel: Los nombres deben comenzar con una letra o un guión bajo, no pueden contener espacios (utilice guiones bajos en su lugar), no pueden entrar en conflicto con referencias de celda como 'A1', y no distinguen entre mayúsculas y minúsculas. IronXL aplica estas reglas automáticamente cuando crea rangos con nombre.
¿Puedo recuperar todos los rangos con nombre de un libro de Excel mediante programación?
Sí, IronXL proporciona el método GetNamedRanges que devuelve todos los rangos con nombre en la hoja de trabajo como una lista de cadenas. Esta característica es particularmente útil cuando se auditan o documentan rangos con nombre en libros de trabajo existentes cargados con IronXL.
¿Cómo pueden los rangos con nombre mejorar mis fórmulas de Excel en C#?
Los rangos con nombre hacen que las fórmulas de Excel sean más legibles y fáciles de mantener cuando se trabaja con IronXL. En lugar de utilizar referencias de celda como 'A1:B10', puede utilizar nombres descriptivos como 'SalesData' en sus fórmulas, haciendo que su código C# sea más claro y fácil de entender.
¿Es posible crear rangos con nombre para celdas no contiguas?
Sí, IronXL admite la creación de rangos con nombre para selecciones no contiguas y filas o columnas enteras. Las completas funciones de gestión de hojas de trabajo de la biblioteca le permiten definir rangos con nombre complejos más allá de las simples selecciones rectangulares.
¿Cuál es la forma más rápida de añadir un rango con nombre en una línea de código?
Con IronXL, puede crear un rango con nombre en una sola línea usando: new IronXL.WorkBook().DefaultWorkSheet["A1:B2"].SaveAsNamedRange("MyRange", true). Esto demuestra la API simplificada de IronXL para la manipulación de Excel.
¿Cómo puedo eliminar rangos con nombre de una hoja de cálculo de Excel?
IronXL proporciona el método RemoveNamedRange para eliminar fácilmente los rangos con nombre de su hoja de cálculo. Esto es parte de las capacidades completas de administración de rangos con nombre de la biblioteca, lo que le permite agregar, recuperar y eliminar rangos con nombre mediante programación.






