Programové kopírování všech názvů oblastí v Excelu

Souhrn

V aplikaci Microsoft Office Excel můžete vytvořit makro jazyka Microsoft Visual Basic for Applications (VBA), které můžete použít ke zkopírování všech názvů oblastí z aktivního sešitu do jiného sešitu.

Další informace

Společnost Microsoft poskytuje ukázky programování pouze pro ilustraci, bez žádné záruky výslovně uvedené nebo odvozené, včetně, bez omezení, odvozených záruk vztahujících se k obchodovatelnosti nebo vhodnosti pro určitý účel. Tento článek předpokládá, že uživatel je obeznámen s programovacím jazykem, který je předmětem ukázky, a s nástroji použitými pro vytvoření a ladění skriptu. Technici podpory společnosti Microsoft mohou pomoci vysvětlit funkce konkrétního postupu. Nebudou však upravovat tyto příklady tak, aby poskytovaly přidanou funkcionalitu nebo sestavovaly postupy, které splňují vaše specifické požadavky.

Pokud chcete vytvořit a použít makro ke zkopírování všech názvů oblastí z aktivního sešitu do jiného sešitu, použijte postup v následujícím příkladu:

  1. Spusťte Excel a potom v novém sešitu klikněte na vybrat buňku A1.

  2. Proveďte jednu z následujících akcí:

    • V aplikaci Microsoft Office Excel 2007 klepněte na kartu Vzorce a potom klepněte na tlačítko Definovat název ve skupině Definované názvy .
    • V aplikaci Microsoft Office Excel 2003 a starších verzích aplikace Microsoft Excel přejděte v nabídce Vložit na Název a potom klikněte na Definovat.
  3. V dialogovém okně Definovat názvy zadejte do pole Názvy v sešitu text Rozsah1 a klikněte na OK.

  4. Vyberte buňku B1.

  5. Proveďte jednu z následujících akcí:

    • V excelu 2007 klikněte na kartu Vzorce a potom klikněte na Definovat název ve skupině Definované názvy .
    • V aplikaci Excel 2003 a dřívějších verzích aplikace Excel přejděte v nabídce Vložit na Název a potom klikněte na definovat.
  6. V dialogovém okně Definovat názvy zadejte do pole Názvy v sešitu text Rozsah2 a klikněte na OK.

  7. Stisknutím kombinace kláves ALT+F11 spusťte editor jazyka Visual Basic.

  8. V nabídce Vložit klikněte na položku Modul.

  9. Na listu modulů zadejte následující kód:

    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. Stisknutím kombinace kláves ALT+F11 se vrátíte do Excelu.

  11. Proveďte jednu z následujících akcí:

    • V excelu 2007 klikněte na tlačítko Microsoft Office, přejděte na Uložit jako, klikněte na Excel Macro-Enabled sešit a potom sešit uložte jako Book1.xlsm.
    • V aplikaci Excel 2003 a dřívějších verzích aplikace Excel klikněte v nabídce Soubor na příkaz Uložit a potom sešit uložte jako Book1.xls.
  12. Proveďte jednu z následujících akcí:

    • V aplikaci Excel 2007 klepněte na tlačítko Microsoft Office, klepněte na tlačítko Nový, klepněte na příkaz Prázdný sešit a potom klepněte na tlačítko Vytvořit.
    • V aplikaci Excel 2003 klepněte v nabídce Soubor na příkaz Nový a potom klepněte na příkaz Prázdný sešit v podokně úloh Nový sešit.
    • V aplikaci Excel 2002 a starších verzích aplikace Excel klepněte v nabídce Soubor na příkaz Nový, klepněte na příkaz Sešit a potom klepněte na tlačítko OK.
  13. Proveďte jednu z následujících akcí:

    • V excelu 2007 klikněte na tlačítko Microsoft Office, přejděte na Uložit jako, klikněte na Excel Macro-Enabled sešit a potom sešit uložte jako Book2.xlsm.
    • V aplikaci Excel 2003 a ve starších verzích aplikace Excel klikněte v nabídce Soubor na příkaz Uložit jako a potom sešit uložte jako Book2.xls.
  14. Přepněte na Book1.

    Poznámka

    Možná budete muset minimalizovat nebo obnovit Book2, aby se tlačítko Book1 zobrazilo.

  15. Proveďte jednu z následujících akcí:

    • V excelu 2007 klikněte na kartu Vývojář a potom klikněte na Makra.

      Poznámka

      Pokud se karta Vývojář nezobrazí, klikněte na tlačítko Microsoft Office, klikněte na Možnosti aplikace Excel, klikněte na Oblíbené, zaškrtněte políčko Zobrazit kartu Vývojář na pásu karet a potom klikněte na OK.

    • V aplikaci Excel 2003 a starších verzích aplikace Excel přejděte v nabídce Nástroje na Makro a potom klikněte na Makra.

  16. V seznamu Název makra klikněte na Copy_All_Defined_Names a potom klikněte na Spustit.

  17. Přepněte na Sešit2 a všimněte si, že buňka A1 má název Oblast1 a buňka B1 má název Oblast2.