Chyba 1004 při provádění změn položek legendy v grafu v Excelu
Příznaky
Při spuštění makra jazyka Microsoft Visual Basic for Applications (VBA), které používá metodu LegendEntries k provedení změn položek legendy v grafu aplikace Microsoft Excel, může se zobrazit následující chybová zpráva:
Chyba 1004 za běhu: Chyba definovaná aplikací nebo objektem
Příčina
K tomuto chování dochází, když graf aplikace Excel obsahuje více položek legendy, než je k dispozici místo pro zobrazení položek legendy v grafu aplikace Excel. Dojde-li k tomuto chování, aplikace Microsoft Excel může zkrátit položky legendy.
Protože Metoda LegendEntries v makrech jazyka VBA používá to, co se zobrazí pro legendu (v tomto případě zkrácené položky legendy), chybová zpráva, která je uvedena v části "Příznaky" tohoto článku se objeví, když je k dispozici více položek, než je k dispozici místo pro zobrazení položek legendy v excelovém grafu.
Řešení
Společnost Microsoft poskytuje příklady programování pouze pro ilustraci, bez záruky vyjádřené nebo předpokládané, včetně, ale bez omezení, předpokládaných záruk obchodovatelnosti a/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. Pracovníci technické podpory společnosti Microsoft mohou vysvětlit funkce určitého postupu, nemohou však následující příklady rozšířit o další funkce nebo konstrukce podle konkrétních požadavků uživatele.
Další informace o dostupných možnostech podpory a o tom, jak kontaktovat společnost Microsoft, naleznete na následujícím webu společnosti Microsoft:
Chcete-li toto chování obejít, vytvořte makro, které zmenší velikost písma textu legendy grafu aplikace Excel předtím, než makro VBA provede změny legendy grafu, a pak obnoví velikost písma legendy grafu, aby byla podobná následujícímu příkladu makra.
Poznámka
Aby toto makro fungovalo správně, musíte mít na listu excelový graf.
Sub ResizeLegendEntries()
With Worksheets("Sheet1").ChartObjects(1).Activate
' Store the current font size
fntSZ = ActiveChart.Legend.Font.Size
'Temporarily change the font size.
ActiveChart.Legend.Font.Size = 2
'Place your LegendEntries macro code here to make
'the changes that you want to the chart legend.
' Restore the font size.
ActiveChart.Legend.Font.Size = fntSZ
End With
End Sub
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro