Copia de todos los nombres de rango mediante programación en Excel

Resumen

En Microsoft Office Excel, puede crear una macro de Microsoft Visual Basic para Aplicaciones (VBA) que puede usar para copiar todos los nombres de rango del libro activo a otro libro.

Más información

Microsoft proporciona ejemplos de programación con fines ilustrativos únicamente, sin ninguna garantía, ya sea expresa o implícita. Esto incluye, entre otras, las garantías implícitas de comerciabilidad e idoneidad para un fin determinado. Se considera que está familiarizado con el lenguaje de programación que se muestra y con las herramientas para crear y depurar procedimientos. Los ingenieros de soporte técnico de Microsoft pueden explicarle la funcionalidad de un determinado procedimiento. Sin embargo, no modificarán estos ejemplos para proporcionar una funcionalidad adicional o procesos de construcción para que se cumplan sus requisitos específicos.

Para crear y usar una macro para copiar todos los nombres de rango del libro activo a otro libro, siga estos pasos en el ejemplo siguiente:

  1. Inicie Excel y, a continuación, en un nuevo libro, haga clic en seleccionar la celda A1.

  2. Realice una de las acciones siguientes:

    • En Microsoft Office Excel 2007, haga clic en la pestaña Fórmulas y, a continuación, haga clic en Definir nombre en el grupo Nombres definidos .
    • En Microsoft Office Excel 2003 en y versiones anteriores de Microsoft Excel, seleccione Nombre en el menú Insertar y, a continuación, haga clic en Definir.
  3. En el cuadro de diálogo Definir nombres , en el cuadro de libro Nombres en , escriba Range1 y, a continuación, haga clic en Aceptar.

  4. Seleccione la celda B1.

  5. Realice una de las acciones siguientes:

    • En Excel 2007, haga clic en la pestaña Fórmulas y, a continuación, haga clic en Definir nombre en el grupo Nombres definidos .
    • En Excel 2003 y en versiones anteriores de Excel, seleccione Nombre en el menú Insertar y, a continuación, haga clic en Definir.
  6. En el cuadro de diálogo Definir nombres , en el cuadro de libro Nombres en , escriba Range2 y, a continuación, haga clic en Aceptar.

  7. Presione ALT+F11 para iniciar el editor de Visual Basic.

  8. En el menú Insertar, haga clic en Módulo.

  9. En la hoja del módulo, escriba el código siguiente:

    Sub Copy_All_Defined_Names()
       ' Loop through all of the defined names in the active
       ' workbook.
         For Each x In ActiveWorkbook.Names
          ' Add each defined name from the active workbook to
          ' the target workbook ("Book2.xls" or "Book2.xlsm").
          ' "x.value" refers to the cell references the
          ' defined name points to.
          Workbooks("Book2.xls").Names.Add Name:=x.Name, _
             RefersTo:=x.Value
       Next x
    End Sub
    
  10. Presione ALT+F11 para volver a Excel.

  11. Realice una de las acciones siguientes:

    • En Excel 2007, haga clic en el botón Microsoft Office, seleccione Guardar como, haga clic en Excel Macro-Enabled libro y, a continuación, guarde el libro como Book1.xlsm.
    • En Excel 2003 y en versiones anteriores de Excel, haga clic en Guardar en el menú Archivo y, a continuación, guarde el libro como Book1.xls.
  12. Realice una de las acciones siguientes:

    • En Excel 2007, haga clic en el Botón de Microsoft Office, haga clic en Nuevo, haga clic en Libro en blancoy, a continuación, haga clic en Crear.
    • En Excel 2003, haga clic en Nuevo en el menú Archivo y, a continuación, haga clic en Libro en blanco en el panel de tareas Nuevo libro .
    • En Excel 2002 y en versiones anteriores de Excel, haga clic en Nuevo en el menú Archivo , haga clic en Libroy, a continuación, haga clic en Aceptar.
  13. Realice una de las acciones siguientes:

    • En Excel 2007, haga clic en el botón Microsoft Office, seleccione Guardar como, haga clic en Excel Macro-Enabled libro y, a continuación, guarde el libro como Book2.xlsm.
    • En Excel 2003 y en versiones anteriores de Excel, haga clic en Guardar como en el menú Archivo y, a continuación, guarde el libro como Book2.xls.
  14. Cambie a Book1.

    Nota:

    Es posible que tenga que minimizar o restaurar Book2 para ver el botón Book1.

  15. Realice una de las acciones siguientes:

    • En Excel 2007, haga clic en la pestaña Desarrollador y, a continuación, haga clic en Macros.

      Nota:

      Si no se muestra la pestaña Desarrollador , haga clic en el botón Microsoft Office, haga clic en Opciones de Excel, en Popular, haga clic para seleccionar la pestaña Mostrar desarrollador en la cinta de opciones y, a continuación, haga clic en Aceptar.

    • En Excel 2003 y en versiones anteriores de Excel, seleccione Macro en el menú Herramientas y, a continuación, haga clic en Macros.

  16. En la lista Nombre de macro , haga clic en Copy_All_Defined_Names y, a continuación, haga clic en Ejecutar.

  17. Cambie a Book2 y tenga en cuenta que la celda A1 se denomina Range1 y que la celda B1 se denomina Range2.