Programmgesteuertes Kopieren aller Bereichsnamen in Excel

Zusammenfassung

In Microsoft Office Excel können Sie ein VBA-Makro (Microsoft Visual Basic for Applications) erstellen, mit dem Sie alle Bereichsnamen aus der aktiven Arbeitsmappe in eine andere Arbeitsmappe kopieren können.

Weitere Informationen

Die Verwendung der hier aufgeführten Informationen, Makro- oder Programmcodes geschieht auf Ihre eigene Verantwortung. Microsoft stellt Ihnen diese Informationen sowie Makro- und Programmlistings ohne Gewähr auf Richtigkeit, Vollständigkeit und/oder Funktionsfähigkeit sowie ohne Anspruch auf Support zur Verfügung. Die zur Verfügung gestellten Makro- und Programmierungsbeispiele sollen lediglich exemplarisch die Funktionsweise des Beispiels aufzeigen. Die Mitarbeiter der Microsoft Product Support Services erklären Ihnen gerne die Funktionsweise einer bestimmten Prozedur. Die Mitarbeiter werden diese Beispiele jedoch weder modifizieren, um zusätzliche Funktionalität zu schaffen, noch Prozeduren entwickeln, die auf Ihre spezifischen Bedürfnisse zugeschnitten sind.

Führen Sie die Schritte im folgenden Beispiel aus, um ein Makro zu erstellen und zu verwenden, um alle Bereichsnamen aus der aktiven Arbeitsmappe in eine andere Arbeitsmappe zu kopieren:

  1. Starten Sie Excel, und klicken Sie dann in einer neuen Arbeitsmappe auf Zelle A1 auswählen.

  2. Führen Sie eine der folgenden Aktionen aus:

    • Klicken Sie in Microsoft Office Excel 2007 auf die Registerkarte Formeln, und klicken Sie dann in der Gruppe Definierte Namen auf Namen definieren.
    • Zeigen Sie in Microsoft Office Excel 2003 in und früheren Versionen von Microsoft Excel im Menü Einfügen auf Name, und klicken Sie dann auf Definieren.
  3. Geben Sie im Dialogfeld Namen definieren im Feld Namen in Arbeitsmappe den Namen Range1 ein, und klicken Sie dann auf OK.

  4. Wählen Sie Zelle B1 aus.

  5. Führen Sie eine der folgenden Aktionen aus:

    • Klicken Sie in Excel 2007 auf die Registerkarte Formeln, und klicken Sie dann in der Gruppe Definierte Namen auf Namen definieren.
    • Zeigen Sie in Excel 2003 und früheren Excel-Versionen im Menü Einfügen auf Name, und klicken Sie dann auf Definieren.
  6. Geben Sie im Dialogfeld Namen definieren im Feld Namen in arbeitsmappe den Namen Range2 ein, und klicken Sie dann auf OK.

  7. Drücken Sie ALT+F11, um den Visual Basic-Editor zu starten.

  8. Klicken Sie im Menü Einfügen auf Modul.

  9. Geben Sie auf dem Modulblatt den folgenden Code ein:

    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. Drücken Sie ALT+F11, um zu Excel zurückzukehren.

  11. Führen Sie eine der folgenden Aktionen aus:

    • Klicken Sie in Excel 2007 auf die Microsoft Office-Schaltfläche, zeigen Sie auf Speichern unter, klicken Sie auf Excel Macro-Enabled Arbeitsmappe, und speichern Sie die Arbeitsmappe dann als Book1.xlsm.
    • Klicken Sie in Excel 2003 und früheren Excel-Versionen im Menü Datei auf Speichern, und speichern Sie die Arbeitsmappe dann als Book1.xls.
  12. Führen Sie eine der folgenden Aktionen aus:

    • Klicken Sie in Excel 2007 auf die Microsoft Office-Schaltfläche, klicken Sie auf Neu, klicken Sie auf Leere Arbeitsmappe, und klicken Sie dann auf Erstellen.
    • Klicken Sie in Excel 2003 im Menü Datei auf Neu, und klicken Sie dann im Aufgabenbereich Neue Arbeitsmappe auf Leere Arbeitsmappe.
    • Klicken Sie in Excel 2002 und früheren Excel-Versionen im Menü Datei auf Neu, klicken Sie auf Arbeitsmappe, und klicken Sie dann auf OK.
  13. Führen Sie eine der folgenden Aktionen aus:

    • Klicken Sie in Excel 2007 auf die Microsoft Office-Schaltfläche, zeigen Sie auf Speichern unter, klicken Sie auf Excel Macro-Enabled Arbeitsmappe, und speichern Sie die Arbeitsmappe dann als Book2.xlsm.
    • Klicken Sie in Excel 2003 und früheren Excel-Versionen im Menü Datei auf Speichern unter, und speichern Sie die Arbeitsmappe dann als Book2.xls.
  14. Wechseln Sie zu Book1.

    Hinweis

    Möglicherweise müssen Sie Book2 minimieren oder wiederherstellen, um die Schaltfläche Buch1 anzuzeigen.

  15. Führen Sie eine der folgenden Aktionen aus:

    • Klicken Sie in Excel 2007 auf die Registerkarte Entwickler und dann auf Makros.

      Hinweis

      Wenn die Registerkarte Entwicklertools nicht angezeigt wird, klicken Sie auf die Microsoft Office-Schaltfläche, klicken Sie auf Excel-Optionen, klicken Sie auf Beliebt, aktivieren Sie das Kontrollkästchen Registerkarte Entwickler im Menüband anzeigen , und klicken Sie dann auf OK.

    • Zeigen Sie in Excel 2003 und früheren Excel-Versionen im Menü Extras auf Makro, und klicken Sie dann auf Makros.

  16. Klicken Sie in der Liste Makroname auf Copy_All_Defined_Names, und klicken Sie dann auf Ausführen.

  17. Wechseln Sie zu Book2, und beachten Sie, dass Zelle A1 den Namen Range1 hat und diese Zelle B1 den Namen Range2 hat.