Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
728to732
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
728to732
728to732
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Diagramm 'geht' nicht (mehr)
07.02.2006 14:47:37
Ralf
Hallo!
Ich habe folgendes Problem, ich lasse über ein Formular ein Diagramm erstellen. Das funktioniert wie folgt: Per Checkboxes werden bestimmte Werte auf ein leeres Blatt (Data Storage) kopiert und von dort aus wird dann das Diagramm erstellt.
Das seltsame ist, bis jetzt lief es prima, seit heute gar nicht mehr. Und das obwohl ich an dem ganzen Modul nichts, aber auch gar nichs, geändert habe.
Beim Befehl "charts.Add" kommt die Fehlermeldung: "Fehler beim Kompilieren, Methode oder Datenobjekt nicht gefunden", ich kann es mir aber nicht erklären.
Fall jemand einen Tipp hat, ich bin seeehr dankbar. ;-)

Private Sub CommandButton1_Click()                      'OK
Application.ScreenUpdating = False
Worksheets("Data Storage").Visible = xlSheetVisible
Sheets("Data Storage").Select
For i = ActiveSheet.UsedRange.Rows.Count To 1 Step -1
If Cells(i, 3).Value = "" Then
Rows(i).Delete Shift:=xlUp
End If
Next
CheckBox7.Value = False                             'Rücksetzen aller Checkboxes auf "Null"
CheckBox8.Value = False
CheckBox25.Value = False
CheckBox24.Value = False
CheckBox23.Value = False
CheckBox22.Value = False
CheckBox21.Value = False
CheckBox20.Value = False
CheckBox19.Value = False
CheckBox16.Value = False
CheckBox17.Value = False
CheckBox18.Value = False
CheckBox26.Value = False
UserForm2.Hide
Dim x As Integer
Dim y As Integer
Dim bereich As Range
x = (Sheets("Data Input").Range("B5").Value + 1)    'Monate aus "Data Input"!B5 übernehmen
y = ActiveSheet.UsedRange.Rows.Count                'Zeilen zählen
'Set bereich = Range("A1:S" & CStr(y))               '<< alter Code >>
Set bereich = Range(Cells(1, 1), Cells(y, x))       'Quell Bereich für Diagramm
Dim dianame As String
charts.Add                                          'Diagramm erstellen
With ActiveChart
.ChartType = xlColumnClustered                  'Diagrammtyp
.SetSourceData Source:=bereich, PlotBy:=xlRows
Application.CutCopyMode = False
.HasTitle = True
.ChartTitle.Text = "Distribution of Cost over entire Duration"
Dim sc As Byte
With ActiveChart
For sc = 1 To .SeriesCollection.Count         'Anzahl der Balken im Diagramm zählen
.SeriesCollection(sc).Border.LineStyle = xlNone   'Alle diese Balken ohne Rahmen versehen
Next
End With
On Error Resume Next
End With
Worksheets("Data Storage").Visible = xlSheetHidden
Application.ScreenUpdating = True
End Sub

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Diagramm 'geht' nicht (mehr)
07.02.2006 21:58:33
Herbert
hallo Ralf,
ich habe den Code jetzt etwas optimiert,
das Blatt "Data Storage" brauchst du wahrscheinlich gar nicht einblenden...
ich habe den Code ohne Checkboxen und Userform getestet...


Option Explicit
Private Sub CommandButton1_Click()
Dim As Integer, y As Integer, bereich As Range
Dim sc As Byte, i As Long
x = Sheets("Data Input").Range("B5").Value + 1
Application.ScreenUpdating = False
            
With Worksheets("Data Storage")
     '.Visible = xlSheetVisible
      
     For i = .UsedRange.Rows.Count To Step -1
        If .Cells(i, 3).Value = "" Then
           .Rows(i).Delete Shift:=xlUp
        End If
     Next
'    CheckBox7.Value = False
'    CheckBox8.Value = False
'    CheckBox25.Value = False
'    CheckBox24.Value = False
'    CheckBox23.Value = False
'    CheckBox22.Value = False
'    CheckBox21.Value = False
'    CheckBox20.Value = False
'    CheckBox19.Value = False
'    CheckBox16.Value = False
'    CheckBox17.Value = False
'    CheckBox18.Value = False
'    CheckBox26.Value = False
'    UserForm2.Hide
            
            
        y = .UsedRange.Rows.Count
        Set bereich = .Range(.Cells(1, 1), .Cells(y, x))
       '.Visible = xlSheetHidden
End With
                 
With Charts.Add
    .ChartType = xlColumnClustered
    .SetSourceData Source:=bereich, PlotBy:=xlRows
    .HasTitle = True
    .ChartTitle.Text = "Distribution of Cost over entire Duration"
   For sc = 1 To .SeriesCollection.Count
    .SeriesCollection(sc).Border.LineStyle = xlNone
   Next
End With
        
With Application
      .SendKeys "{esc}"
      .ScreenUpdating = True
End With
End Sub

     gruß Herbert
Anzeige
AW: Diagramm 'geht' nicht (mehr)
09.02.2006 08:51:24
Ralf
Hallo Herbert!
Vielen Dank für deine umfangreiche Hilfe. Aber leider kommt nach wie vor der gleiche Fehler "Fehler beim Kompilieren, Methode oder Datenobjekt nicht gefunden" an der Stelle:
With charts.Add
Woran könnte das denn liegen? Eventuell weil es schon andere Diagramme im Worksheet gibt? Bin mit meinem Latein am Ende. ;-)
AW: Diagramm 'geht' nicht (mehr)
09.02.2006 09:07:46
Herbert
hallo Ralf,
an dem liegt es nicht,daß es schon andere Diagramme gibt...
probiers einmal so:

Sub CommandB()
Dim x As Integer, y As Integer, bereich As Range
Dim sc As Byte, i As Long
x = Sheets("Data Input").Range("B5").Value + 1
Application.ScreenUpdating = False
On Error Resume Next
With Worksheets("Data Storage")
'.Visible = xlSheetVisible
'     For i = .UsedRange.Rows.Count To 1 Step -1
'        If .Cells(i, 3).Value = "" Then
'           .Rows(i).Delete Shift:=xlUp
'        End If
'     Next
'    CheckBox7.Value = False
'    CheckBox8.Value = False
'    CheckBox25.Value = False
'    CheckBox24.Value = False
'    CheckBox23.Value = False
'    CheckBox22.Value = False
'    CheckBox21.Value = False
'    CheckBox20.Value = False
'    CheckBox19.Value = False
'    CheckBox16.Value = False
'    CheckBox17.Value = False
'    CheckBox18.Value = False
'    CheckBox26.Value = False
'    UserForm2.Hide
y = .UsedRange.Rows.Count
Set bereich = .Range(.Cells(1, 1), .Cells(y, x))
'.Visible = xlSheetHidden
End With
Charts.Add
With ActiveChart
.Location Where:=xlLocationAsNewSheet
.ChartType = xlColumnClustered
.SetSourceData Source:=bereich, PlotBy:=xlRows
.HasTitle = True
.ChartTitle.Text = "Distribution of Cost over entire Duration"
For sc = 1 To .SeriesCollection.Count
.SeriesCollection(sc).Border.LineStyle = xlNone
Next
End With
With Application
.SendKeys "{esc}"
.ScreenUpdating = True
End With
End Sub

vielleicht kannst du eine Beispielmappe hochladen
wo es nicht geht...
gruß Herbert
Anzeige
AW: Diagramm 'geht' nicht (mehr)
09.02.2006 09:20:46
Ralf
Nein, selbst dann tut es nicht. :-( Die gleiche Fehlermeldung wie vorher.
Was ich ich total verwundert, ist, dass genau dieses Makro in einer anderen Version der Arbeitsmappe funktioniert (ohne das ich etwas an dem Makro geändert habe). Die einzigen unterschiede sind, das in der jetzigen Version weit mehr Diagramme auftauchen.
Eine Beispielarbeitsmappe kann ich leider nicht zur Verfügung stellen, höchstens den ganzen VBA-Code...
AW: Diagramm 'geht' nicht (mehr)
09.02.2006 10:42:24
Herbert
hast du in dieser Mappe "Arbeitsmappenschutz"
aktiviert...dann kommt an dieser Stelle auch eine Fehlermeldung,
da ja das Diagramm nicht eingefügt werden kann...
allerdings eine andere...
eine andere Möglichkeit...
kopiere das Makro in ein Standardmodul,und führe es mit einer
Schaltfläche aus der "Formularleiste" aus...
oder stelle die Eigenschaft "TakeFocusOnKlick" des Commandbuttons
auf "False"...mit "True" kann es Probleme geben...
gruß Herbert
Anzeige

312 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige