Les på engelsk

Del via


«Kjøretidsfeil 1004» når du gjør endringer i forklaringsoppføringer i et diagram i Excel

Symptomer

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

Årsak

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.

Løsning

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:

https://support.microsoft.com

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.

VB
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