Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
968to972
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
968to972
968to972
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
variable Range definieren
13.04.2008 16:41:55
Köhler
Hallo,
ich möchte aus einer ständig wechselnden Range per command button ein diagram erstellen.
Dazu hätte ich 2 Fragen:
1) warum erscheint bei folgendem code der error 1004 "Die Methode 'Range' für das Objekt '_Global' ist fehlgeschlagen.
2) wie kann ich erreichen, dass nur die values in den Zellen beachtet werden, nicht die zugrundeliegenden Formeln?
Vielen vielen dank schon mal für die Hilfe!

Sub Schaltfläche3_BeiKlick()
Range(Range("b4").End(xlDown), Range("b4").End(xlToRight)).Select
Charts.Add
ActiveChart.ChartType = xlLineMarkers
ActiveChart.SetSourceData Source:=Sheets("A Matiz"). _
Range(Range("b4").End(xlDown), Range("b4").End(xlToRight)), PlotBy :=xlRows
ActiveChart.Location Where:=xlLocationAsObject, Name:="A Matiz"
With ActiveChart
.HasTitle = False
.Axes(xlCategory, xlPrimary).HasTitle = False
.Axes(xlValue, xlPrimary).HasTitle = False
End With
End Sub


13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: variable Range definieren
13.04.2008 17:11:00
Beverly
Hi,

Range(Range("b4").End(xlDown), Range("b4").End(xlToRight)).Select
Charts.Add
ActiveChart.ChartType = xlLineMarkers
ActiveChart.Location Where:=xlLocationAsObject, Name:="A Matiz"
ActiveChart.SetSourceData Source:=Sheets("A Matiz"). _
Range(Range("b4").End(xlDown), Range("b4").End(xlToRight)), PlotBy:=xlRows




AW: variable Range definieren
13.04.2008 17:23:46
Köhler
vielen Dank schon mal.
Allerdings wird jetzt ein Diagram erstellt, dessen Datenbereich nicht von Zelle B4 bis zur letzten gefüllten Zeile/ Spalte geht, sondern nur jeweils die letzte gefüllte Zeile/ Spalte alleine. Der Bereich von B4 bis dorthin wird ignoriert.
Woran könnte das liegen? Hab auch ehrlich gesagt keine großen Veränderungen des Codes feststellen können, außer das Titelangaben fehlen.
Würde mich über eine kurze Erläuterung freuen.

Anzeige
AW: variable Range definieren
13.04.2008 17:45:00
Beverly
Hi,
kann ich nicht nachvollziehen

Die Datei https://www.herber.de/bbs/user/51500.xls wurde aus Datenschutzgründen gelöscht




AW: variable Range definieren
13.04.2008 17:56:44
Köhler
das Problem scheint darin zu legen, dass bei meiner Anwendung der Datenbereich durch Formeln zustande kommt. Habe deine Datei beispielhaft verändert, so sollte es klar werden.
https://www.herber.de/bbs/user/51501.xls

Anzeige
AW: variable Range definieren
13.04.2008 18:23:02
Beverly
Hi,
dann lässt sich die letzte Zeile/Spalte nicht auf dem bisherigen Weg ermitteln

Sub Diagramm_erstellen2()
Dim chDiagramm As ChartObject
Dim inZeile As Integer
Dim inSpalte As Integer
inZeile = 4
inSpalte = 2
Do
If Cells(inZeile, 2) = "" Then
inZeile = inZeile - 1
Exit Do
End If
inZeile = inZeile + 1
Loop
Do
If Cells(4, inSpalte) = "" Then
inSpalte = inSpalte - 1
Exit Do
End If
inSpalte = inSpalte + 1
Loop
Range(Cells(4, 2), Cells(inZeile, inSpalte)).Copy
Set chDiagramm = ActiveSheet.ChartObjects.Add(100, 100, 500, 300)
With chDiagramm.Chart
.ChartType = xlLineMarkers
.PlotBy = xlRows
End With
End Sub




Anzeige
Empfehlung: Browser aktualisieren! owT
13.04.2008 18:26:00
Luc:-?
:-?

eine gestellte Frage erhält auch eine Antwort-o.T.
13.04.2008 19:28:00
Beverly
o.T.


Empfehlung galt absichtlich NICHT dir! Gruß owT
13.04.2008 21:20:59
Luc:-?
:-?

AW: variable Range definieren
13.04.2008 17:31:00
Beate
Hallo,
Sub makeChart()
    Dim NewChart As Chart
    Dim rng As Range
    Set rng = Sheets("A Matiz").Range(Range("b4").End(xlDown), Range("b4").End(xlToRight))
    Set NewChart = Charts.Add
    With NewChart
        .ChartType = xlLineMarkers
        .SetSourceData Source:=rng, PlotBy:=xlRows
        .HasTitle = False
        .Axes(xlCategory, xlPrimary).HasTitle = False
        .Axes(xlValue, xlPrimary).HasTitle = False
    End With
End Sub


Gruß,
Beate

Anzeige
AW: variable Range definieren
13.04.2008 17:43:41
Köhler
ok, nochmal vielen Dank.
Es scheint also nicht möglich zu sein mit meinem Code ein entsprechendes Diagram in das selbe sheet zu generieren. Damit kann ich leben.
Allerdings hätte ich gerne in der Range nur Zellen mit Werten berücksichtigt, keine Zellen mit Formeln. Gibt es dafür eine Möglichkeit?

Zu 1.: Doch (s.u.)! Zu 2.: Ich kenne nur...
13.04.2008 17:53:00
Luc:-?
...diese, falls es um das Problem mit der Null geht:
a) Tabelle als Werte speichern!
b) #NV statt Leerzelle in Fmlausgabe verwenden!
Gruß Luc :-?

Die SetSourceData-Methode des Diagramms...
13.04.2008 17:42:47
Luc:-?
...kann offensichtlich bei der Quellenzuweisung keine Bereichsberechnungen ausführen.
Deshalb ist es besser, diesen zuvor zu ermitteln und einer Variablen zu übergeben. Folgendes _ sollte deshalb eher fkt...

Option Explicit
Sub Schaltfläche3_BeiKlick()
Dim chrg As Range
Set chrg = Sheets("A Matiz").Range(Range("b4").End(xlDown), Range("b4").End(xlToRight))
With Charts.Add
.ChartType = xlLineMarkers
.SetSourceData Source:=chrg, PlotBy:=xlRows
.Location Where:=xlLocationAsObject, Name:="A Matiz"
End With
With ActiveChart
.HasTitle = False
.Axes(xlCategory, xlPrimary).HasTitle = False
.Axes(xlValue, xlPrimary).HasTitle = False
End With
End Sub


Gruß Luc :-?

Anzeige
Danke für die 'Ignoranz'! ;-( owT
17.04.2008 12:50:00
Luc:-?
:-?

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige