"Błąd czasu wykonywania 1004" podczas wprowadzania zmian w wpisach legendy na wykresie w programie Excel
Symptomy
Po uruchomieniu makra programu Microsoft Visual Basic for Applications (VBA), które używa metody LegendEntries do wprowadzania zmian w wpisach legendy na wykresie programu Microsoft Excel, może zostać wyświetlony następujący komunikat o błędzie:
Błąd czasu wykonywania "1004": błąd aplikacji lub obiektu zdefiniowany
Przyczyna
To zachowanie występuje, gdy wykres programu Excel zawiera więcej wpisów legendy niż jest dostępna przestrzeń do wyświetlania wpisów legendy na wykresie programu Excel. W przypadku takiego zachowania program Microsoft Excel może obciąć wpisy legendy.
Ponieważ metoda LegendEntries w makrach VBA używa tego, co jest wyświetlane dla legendy (w tym przypadku obciętych wpisów legendy), komunikat o błędzie wymieniony w sekcji "Objawy" tego artykułu występuje, gdy jest więcej wpisów niż jest dostępnych miejsca do wyświetlania wpisów legendy na wykresie programu Excel.
Obejście problemu
Firma Microsoft podaje przykłady programowania wyłącznie dla ilustracji, bez gwarancji wyrażonej lub dorozumianej, w tym między innymi dorozumianych gwarancji przydatności handlowej i/lub przydatności do określonego celu. W tym artykule zakłada się, że czytelnik zna demonstrowany język programowania oraz narzędzia używane do procedur tworzenia i debugowania. Wykwalifikowani pracownicy pomocy technicznej firmy Microsoft mogą pomóc w wyjaśnieniu, jak działa określona procedura, ale nie będą modyfikować tych przykładów ani dodawać żadnych funkcji i konstruować nowych procedur w celu dostosowania ich do określonych potrzeb użytkownika.
Aby uzyskać więcej informacji o dostępnych opcjach pomocy technicznej i o tym, jak skontaktować się z firmą Microsoft, odwiedź następującą witrynę internetową firmy Microsoft:
Aby obejść to zachowanie, utwórz makro, które zmniejsza rozmiar czcionki tekstu legendy wykresu programu Excel, zanim makro VBA dokona zmian w legendzie wykresu, a następnie przywróci rozmiar czcionki legendy wykresu, tak aby był podobny do poniższego przykładu makra.
Uwaga
Aby to makro działało poprawnie, musisz mieć w arkuszu wykres programu Excel.
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
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla