Avatar billede folj Forsker
17. januar 2012 - 13:40 Der er 9 kommentarer og
2 løsninger

Rette titel-tekst i diagram vha. vba virker ikke...

Hej Eksperter.

min VBA-kode virker ikke som den ellers har gjort en lang periode.

----- min VBA-kode -----
    ActiveSheet.ChartObjects("Chart 1").Activate
    ActiveChart.ChartTitle.Select
    NewChartDate = Now
    Selection.Characters.Text = "Dagens skiftehold" & Chr(10) & Format(NewChartDate, "dddd dd-mm-yyyy")
    MsgBox "Dagens skiftehold" & Chr(10) & Format(NewChartDate, "dddd dd-mm-yyyy")
    Selection.AutoScaleFont = False
    With Selection.Characters(Start:=1, Length:=31).Font
        .Name = "Verdana"
        .FontStyle = "Fed"
        .Size = 10.5
        .ColorIndex = xlAutomatic
    End With
----- / min VBA-kode -----

Jeg har tjekket med diverse msgbox'e at koden bliver afviklet som forventet og det fejler ikke noget.

Jeg kan også teste at chart bliver selected, og cartTitle bliver selected, men hvad kan der ellers være galt - har virket tidligere, også efter jeg har pågraderet til Win7 og til Office/Excel 2010
Avatar billede oyejo Nybegynder
17. januar 2012 - 14:11 #1
Hva skjer hvis du prøver denne?

NewChartDate = Now

With ActiveSheet.ChartObjects("Chart 1").ChartTitle
    
.Characters.Text = "Dagens skiftehold" & Chr(10) &  Format(NewChartDate, "dddd dd-mm-yyyy")

 .AutoScaleFont = False

 End With
Avatar billede Thorp Praktikant
18. januar 2012 - 11:27 #2
Konstanten XlAutomatic indeholder ingen værdier og returnerer værdien 0. Prøv at skrive 1 istedet.
Avatar billede folj Forsker
19. januar 2012 - 08:50 #3
Til oyejo:
Hvis jeg gør som du foreslår, så udløser det fejlen...

Run-time error ‘438':
Object doesn't support this property or method.
Avatar billede folj Forsker
27. januar 2012 - 12:33 #4
Er der slet ikke andre der oplever lignende drillerier med diagrammer i Excel.
Avatar billede Thorp Praktikant
27. januar 2012 - 12:50 #5
Jeg har testet din kode og tilsyneladende bliver Titlen indtastet korrekt i diagrammet, men formateringen kommer ikke med. Hvis du efter at have kørt koden aktivere Titlen i dit diagram og vælger Automatisk formatering af Teksten, så kommer din Titel frem. Jeg tror der er en fejl i xl konstanten "XlAutomatic". For hvis jeg eks. angiver en anden værdi f.eks. 1, så kommer Titlen korrekt frem med den valgte formattering.
Avatar billede folj Forsker
27. januar 2012 - 13:45 #6
Hej Thorp:

Jeg har lige testet nedenstående rettelse
'.ColorIndex = xlAutomatic
.ColorIndex = 1

men det ændrede ikke noget at sætte ColorIndex = 1

var det ikke dt du mente...
Avatar billede Thorp Praktikant
27. januar 2012 - 14:00 #7
Prøv denne, bemærk at jeg har justeret din with sætning og sat Colorindex = 1

ActiveSheet.ChartObjects("Chart 1").Activate
    ActiveChart.ChartTitle.Select
    NewChartDate = Now
    Selection.Characters.Text = "Dagens skiftehold" & Chr(10) & Format(NewChartDate, "dddd dd-mm-yyyy")
    MsgBox "Dagens skiftehold" & Chr(10) & Format(NewChartDate, "dddd dd-mm-yyyy")
    Selection.AutoScaleFont = False
   
    With Selection.Font
        .Name = "Verdana"
        .FontStyle = "Fed"
        .Size = 10.5
        .ColorIndex = 1
    End With
Avatar billede bak Seniormester
28. januar 2012 - 12:50 #8
Thorps kode burde virke fint, men her er mit bud med et par småændringer.
Hvis der ikke er en titel indsættes der en (hastitle=true)
Fontstyle="Fed" virker kun på dansk, derfor ændret til .bold=true


With ActiveSheet.ChartObjects("Chart 1").Chart
        .HasTitle = True
        With .ChartTitle
            .AutoScaleFont = False
            .Text = "Dagens skiftehold" & Chr(10) & Format(Date, "dddd dd-mm-yyyy")
            MsgBox .Text, vbInformation
            With .Font
                .Name = "Verdana"
                .Bold = True
                .Size = 10.5
                .ColorIndex = 1
            End With
        End With
    End With
Avatar billede folj Forsker
30. januar 2012 - 09:41 #9
Hej Bak og Thorp!

Ved fælles hjælp har i hjulpet mig frem til løsningen.

"Guldkornet" der løste de drillerier som jeg oplevede med at min kode pludselig ikke virkede længere, var iflg. mine tests, Baks forslag om at tilføje linien:
    .HasTitle = True
til min kode. For da først tilten af en eller anden grund var blevet slettet, kunne den hidtidige kode ikke få rettet op på problemet... Tak Bak - smider du også lige et svar, så vil jeg fordele points...

mvh Folmer
Avatar billede bak Seniormester
01. februar 2012 - 22:09 #10
jo da :-)
Avatar billede folj Forsker
02. februar 2012 - 08:44 #11
Jeg har fordelt points hårdt men retfærdigt, ud fra under hensyntage til at det var Bak der leverede det afgørende guldkorn.
Tak til alle der angagerede sig i problemløsningen...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester