/ / Kopírovať všetky pomenované rozsahy na iný zošit - excel, vba, copy, named-ranges

Skopírujte všetky pomenované rozsahy do iného zošita - excel, vba, copy, named-ranges

Takže som sa bavil s podporou spoločnosti Microsoftodpovedať na túto otázku, ale ich kód jednoducho nefunguje. Som zmätený o tom, ako nedefinujú x, alebo možno x vždy sa rovná premennej vo VBA? Každopádne, snažím sa kopírovať všetko pomenované rozsahy v jednom zošit a preniesť ichdo iného zošita. Musím to urobiť pre 50-oddelené pracovné zošity a v základnom zošite je 30-40 menovaných rozsahov. Skutočne nechcem kopírovať tieto chyby ručne. Tu je kód, ktorý dali k tomuto problému:

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("trial run.xlsm").Names.Add Name:=x.Name, _
RefersTo:=x.Value
Next x
End Sub

Spustenie tohto mi dáva nasledujúcu chybu:

tu zadajte popis obrázku

a zdôrazňuje nasledujúci kód:

tu zadajte popis obrázku

"skúšobný beh.xlsm "je len prázdny zošit a je uložený ako makro-povolený, to je môj cieľový zošit.Zdá sa hlúpe, že musieť požiadať o pomoc ladenie makra, ktoré Microsoft napísal, ale ja som trochu na konci môjho lana tu.

Pre pôvodnú stránku som to dostal, pozri tu: Podpora spoločnosti Microsoft

Takto vyzerajú moje pojmenované rozsahy:

tu zadajte popis obrázku

odpovede:

0 pre odpoveď č. 1

Je ťažké povedať, ale mám podozrenie, že váš reťazec RefersTo je> 256 znakov: Ak to tak zlyhá, pretože VBA nemôže zvládnuť referenčné reťazce> 256 znakov.