Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
964to968
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
964to968
964to968
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

laufzeitfehler 438

laufzeitfehler 438
29.03.2008 18:32:00
jimi
Hallo,
habe ein Problem wenn ich ein Macro laufen lasse kommt in meinem Excel (2003) der vermerk Laufzeitfehler 438. Beim Debuggen verweisst er dann auf folgende Zeile
ActiveSheet.Shapes.AddChart.Select
Irgendwelche Ideen?
Thx

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: laufzeitfehler 438
29.03.2008 18:41:00
Gerd
Hallo jimi,
was soll die Codezeile denn machen?
Gruß Gerd

AW: laufzeitfehler 438
29.03.2008 18:42:24
Nepumuk
Hallo jimi,
woher hast du denn diesen Code? AddChart gibts nicht!!
Gruß
Nepumuk

AW: laufzeitfehler 438
29.03.2008 19:07:18
Jimi
Der Code stammt von Excel 2007, aufgenommen mit dem Makrorecorder... und in Excel 2007 funktioniert der auch :)
Der Code soll ein Diagramm erstellen.

AW: laufzeitfehler 438
29.03.2008 19:12:00
Nepumuk
Hallo jimi,
was in Excel 2007 funktioniert muss in 2003 noch lange nicht funktionieren, denn eine aufwärtskompatibilität hat man mangels Zeitmaschinen noch nicht entwickelt. Normalerweise macht man das auch anders. Schreib dein Programm in 2003, das sollte dann auch in 2007 laufen.
Gruß
Nepumuk

Anzeige
AW: laufzeitfehler 438
30.03.2008 01:15:00
Jimi
Ok, Excel bringt mich noch zur verzweiflung. Ich hab hier nur Office 2007 zur Verfügung aber es soll unter Office 2003 laufen. Nur es funktioniert jedesmal unter 2007 aber nie unter 2003 und das liegt nur an den scheiß Diagramm Eigenschaften. Kann da mal jemand drüber schaun ob er irgendwas findet das in 2003 nicht bzw. anders geht? Der letzte Fehler den ich mitbekommen hab war in der Zeile
.ChartTitle.Text = "=" & datasheet & "!$M$4"
Text Eigenschaft konnte für * nicht festgelegt werden oder so ähnlich. Das Makro ist zum glück nicht sehr kompliziert :)

Sub mkchart()
Dim start As Integer
Dim datasheet As String, chartsheet As String
Dim i As Long, j As Long
datasheet = "Sheet1"
chartsheet = "Chart"
start = 6
i = 1
For i = 1 To Worksheets.count
If Worksheets(i).Name = chartsheet Then
Application.DisplayAlerts = False
Sheets(chartsheet).Delete
Application.DisplayAlerts = True
Exit For
End If
Next i
For i = 1 To Worksheets.count
If Worksheets(i).Name = datasheet Then
j = i
End If
Next i
Sheets.Add After:=Sheets(j)
Sheets(j + 1).Select
Sheets(j + 1).Name = chartsheet
i = start
j = 1
While Not Sheets(datasheet).Cells(i, 5) = Empty
If Not Sheets(datasheet).Cells(i, 13) = Empty Then
Sheets(chartsheet).Cells(j, 1) = Sheets(datasheet).Cells(i, 13)
Sheets(chartsheet).Cells(j, 2) = Sheets(datasheet).Cells(i, 14)
j = j + 1
End If
i = i + 1
Wend
Sheets(chartsheet).Range("C1").Select
Charts.Add
ActiveChart.Location Where:=xlLocationAsObject, Name:=chartsheet
With ActiveChart
.ChartTitle.Text = "=" & datasheet & "!$M$4"
.HasTitle = True
.Axes(xlCategory, xlPrimary).HasTitle = False
.Axes(xlValue, xlPrimary).HasTitle = False
.ChartType = xlBarClustered
.HasLegend = False
.SeriesCollection(1).Values = "=" & chartsheet & "!$A$1:$A$" & j - 1
.SeriesCollection(1).XValues = "=" & chartsheet & "!$B$1:$B$" & j - 1
'SetSourceData Source:=Sheets("Tabelle1").Range("C5:D12"), PlotBy _
'    :=xlRows
End With
ActiveSheet.ChartObjects(1).Activate
Selection.Cut
ActiveSheet.Paste
Columns("A:B").Select
Selection.EntireColumn.Hidden = True
End Sub


Anzeige
AW: laufzeitfehler 438
30.03.2008 09:30:18
Nepumuk
Hallo jimi,
das läuft unter 2003:
' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Sub mkchart()
    Dim start As Integer
    Dim datasheet As String, chartsheet As String
    Dim i As Long, j As Long
    
    datasheet = "Sheet1"
    chartsheet = "Chart"
    
    start = 6
    
    i = 1
    For i = 1 To Worksheets.Count
        If Worksheets(i).Name = chartsheet Then
            Application.DisplayAlerts = False
            Sheets(chartsheet).Delete
            Application.DisplayAlerts = True
            Exit For
        End If
    Next i
    For i = 1 To Worksheets.Count
        If Worksheets(i).Name = datasheet Then
            j = i
        End If
    Next i
    Sheets.Add After:=Sheets(j)
    Sheets(j + 1).Select
    Sheets(j + 1).Name = chartsheet
    
    i = start
    j = 1
    While Not Sheets(datasheet).Cells(i, 5) = Empty
        If Not Sheets(datasheet).Cells(i, 13) = Empty Then
            Sheets(chartsheet).Cells(j, 1) = Sheets(datasheet).Cells(i, 13)
            Sheets(chartsheet).Cells(j, 2) = Sheets(datasheet).Cells(i, 14)
            j = j + 1
        End If
        i = i + 1
    Wend
    
    Sheets(chartsheet).Range("C1").Select
    Charts.Add
    ActiveChart.Location Where:=xlLocationAsObject, Name:=chartsheet
    
    With ActiveChart
        .SeriesCollection.NewSeries
        .SeriesCollection(1).XValues = "=" & chartsheet & "!R1C2:R" & j - 1 & "C2"
        .SeriesCollection(1).Values = "=" & chartsheet & "!R1C1:R" & j - 1 & "C1"
        
        .HasTitle = True
        .ChartTitle.Text = Worksheets(datasheet).Range("$M$4")
        .Axes(xlCategory, xlPrimary).HasTitle = False
        .Axes(xlValue, xlPrimary).HasTitle = False
        .ChartType = xlBarClustered
        .HasLegend = False
        
    End With
    
End Sub

Was soll eigentlich der Unsinn mit den ausschneiden und wiedereinfügen? Wenn du die Spalten A und B ausblendest hast du ein leeres Diagramm! Da dein Chart aber sowieso den Fokus hat, kannst du gar keine Zellen mehr ansprechen.
Gruß
Nepumuk

Anzeige
AW: laufzeitfehler 438
29.03.2008 18:43:23
Hajo_Zi
Hallo Jimi,
ist die Tabelle vielleicht geschützt?

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige