Alle bereiknamen programmatisch kopiëren in Excel

Samenvatting

In Microsoft Office Excel kunt u een VBA-macro (Microsoft Visual Basic for Applications) maken waarmee u alle bereiknamen van de actieve werkmap naar een andere werkmap kunt kopiëren.

Meer informatie

Microsoft verstrekt programmeervoorbeelden alleen ter illustratie, zonder expliciete of impliciete garantie. daaronder mede begrepen, maar niet beperkt tot impliciete garanties met betrekking tot de verkoopbaarheid en/of geschiktheid voor een bepaald doel. In dit artikel wordt ervan uitgegaan dat u bekend bent met de programmeertaal VBScript, alsmede met de hulpprogramma's waarmee procedures worden gemaakt en waarmee fouten in procedures worden opgespoord. Ondersteuningsmedewerkers van Microsoft kunnen helpen bij de uitleg over de functionaliteit van een bepaalde procedure. Deze medewerkers zullen de voorbeelden echter niet aanpassen om extra functionaliteit toe te voegen of om procedures te maken die aan uw specifieke eisen voldoen.

Als u een macro wilt maken en gebruiken om alle bereiknamen van de actieve werkmap naar een andere werkmap te kopiëren, gebruikt u de stappen in het volgende voorbeeld:

  1. Start Excel en klik in een nieuwe werkmap op cel A1 selecteren.

  2. Voer een van de volgende acties uit:

    • Klik in Microsoft Office Excel 2007 op het tabblad Formules en klik vervolgens op Naam definiëren in de groep Gedefinieerde namen .
    • Wijs in Microsoft Office Excel 2003 in en eerdere versies van Microsoft Excel naam aan in het menu Invoegen en klik vervolgens op Definiëren.
  3. Typ in het dialoogvenster Namen definiëren in het vak Namen in werkmap de tekst Bereik1 en klik vervolgens op OK.

  4. Selecteer cel B1.

  5. Voer een van de volgende acties uit:

    • Klik in Excel 2007 op het tabblad Formules en klik vervolgens op Naam definiëren in de groep Gedefinieerde namen .
    • Wijs in Excel 2003 en in eerdere versies van Excel naam aan in het menu Invoegen en klik vervolgens op Definiëren.
  6. Typ in het dialoogvenster Namen definiëren in het vak Namen in werkmap de tekst Bereik2 en klik vervolgens op OK.

  7. Druk op Alt+F11 om de Visual Basic-editor te starten.

  8. Klik in het menu Invoegen op Module.

  9. Typ de volgende code op het moduleblad:

    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. Druk op Alt+F11 om terug te keren naar Excel.

  11. Voer een van de volgende acties uit:

    • Klik in Excel 2007 op de Microsoft Office-knop, wijs Opslaan als aan, klik op Excel Macro-Enabled werkmap en sla de werkmap op als Book1.xlsm.
    • Klik in Excel 2003 en in eerdere versies van Excel op Opslaan in het menu Bestand en sla de werkmap op als Book1.xls.
  12. Voer een van de volgende acties uit:

    • Klik in Excel 2007 op de Microsoft Office-knop, klik op Nieuw, klik op Lege werkmap en klik vervolgens op Maken.
    • Klik in Excel 2003 op Nieuw in het menu Bestand en klik vervolgens op Lege werkmap in het taakvenster Nieuwe werkmap .
    • Klik in Excel 2002 en in eerdere versies van Excel op Nieuw in het menu Bestand , klik op Werkmap en klik vervolgens op OK.
  13. Voer een van de volgende acties uit:

    • Klik in Excel 2007 op de Microsoft Office-knop, wijs Opslaan als aan, klik op Excel Macro-Enabled werkmap en sla de werkmap op als Book2.xlsm.
    • Klik in Excel 2003 en in eerdere versies van Excel op Opslaan als in het menu Bestand en sla de werkmap vervolgens op als Book2.xls.
  14. Schakel over naar Boek1.

    Opmerking

    Mogelijk moet u Book2 minimaliseren of herstellen om de knop Boek1 te zien.

  15. Voer een van de volgende acties uit:

    • Klik in Excel 2007 op het tabblad Ontwikkelaars en klik vervolgens op Macro's.

      Opmerking

      Als het tabblad Ontwikkelaars niet wordt weergegeven, klikt u op de Microsoft Office-knop, klikt u op Opties voor Excel, klikt u op Populair, schakelt u het selectievakje Tabblad Ontwikkelaar op het lint weergeven in en klikt u vervolgens op OK.

    • Wijs in Excel 2003 en in eerdere versies van Excel macro aan in het menu Extra en klik vervolgens op Macro's.

  16. Klik in de lijst Macronaam op Copy_All_Defined_Names en klik vervolgens op Uitvoeren.

  17. Schakel over naar Boek2 en houd er rekening mee dat cel A1 de naam Bereik1 heeft en dat cel B1 de naam Bereik2 heeft.