«Kjøretidsfeil 1004» når du gjør endringer i forklaringsoppføringer i et diagram i Excel
Når du kjører en Microsoft Visual Basic for Applications (VBA)-makro som bruker metoden Forklaringstekster til å gjøre endringer i forklaringsoppføringer i et Microsoft Excel-diagram, kan du få følgende feilmelding:
Kjøretidsfeil 1004: Programfeil eller objektdefinert feil
Dette skjer når Excel-diagrammet inneholder flere forklaringsoppføringer enn det er plass til å vise forklaringsoppføringene i Excel-diagrammet. Når dette skjer, kan det hende at forklaringstekstene avkortes i Microsoft Excel.
Fordi metoden Forklaringstekster i VBA-makroen bruker det som vises for forklaringen (i dette tilfellet de avkortede forklaringsoppføringene), oppstår feilmeldingen som er nevnt i delen Symptomer i denne artikkelen, når det er flere oppføringer enn det er plass til å vise forklaringsoppføringene i Excel-diagrammet.
Microsoft gir bare programmeringseksempler for illustrasjon, uten garanti, enten uttrykt eller underforstått, inkludert, men ikke begrenset til, de underforståtte garantiene for salgbarhet og/eller egnethet for et bestemt formål. Denne artikkelen forutsetter at du er kjent med programmeringsspråket som blir demonstrert og verktøyene som brukes til å opprette og feilsøke prosedyrer. Microsoft-kundestøtteteknikere kan hjelpe til å forklare funksjonaliteten til en bestemt prosedyre, men de vil ikke endre disse eksemplene for å gi ekstra funksjonalitet eller konstruere prosedyrer for å dekke dine spesifikke behov.
Hvis du vil ha mer informasjon om støttealternativene som er tilgjengelige og hvordan du kontakter Microsoft, kan du gå til følgende Microsoft-webområde:
Hvis du vil omgå dette problemet, oppretter du en makro som reduserer skriftstørrelsen på forklaringsteksten i Excel-diagrammet før VBA-makroen gjør endringer i diagramforklaringen, og deretter gjenoppretter du skriftstørrelsen for diagramforklaringen slik at den ligner på følgende makroeksempel.
Obs!
Du må ha et Excel-diagram i regnearket for at denne makroen skal kjøre riktig.
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