Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
928to932
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
928to932
928to932
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Diagramm erstellen - Laufzeitfehler??

Diagramm erstellen - Laufzeitfehler?
30.11.2007 13:35:12
Thomas
Hallo Excel-Profis,
ich habe ziemliche Probleme beim Erstellen eines Diagramms. Ich habe schon hier im Archiv und in anderen Foren ähnliche Fragen gefunden, aber noch keine richtigen Antworten.
Ich möchte per VBA ein Diagramm erstellen. Hierzu nutze ich folgendes Makro (das Add-In " _ Analyse-Tool Pack" muss hierzu installiert sein und die Funktion "Hex2Dec" muss evtl. in "HexInDez" abgeändert werden, je nach installierter Sprachvariante):

Option Explicit
Sub Makro1()
Dim src_data As Range
'--- Formeln in letzte Spalte einfügen: ---
With Range([B2], [B2].End(xlDown)).Offset(0, 15)
.FormulaR1C1 = "=HEX2DEC(RC[-2]&TEXT(RC[-3],""00""))-IF(RC[-2]>=128,65536,0)"
End With
'--- Diagrammdaten festlegen: ---
Set src_data = Sheets("Diagramm").Range("C1:C10,Q1:Q10")
'---Diagramm hinzufügen: ---
Charts.Add
ActiveChart.ChartType = xlXYScatterLines
ActiveChart.SetSourceData Source:=src_data, PlotBy:=xlColumns
ActiveChart.Location Where:=xlLocationAsObject, Name:="Diagramm"
With ActiveChart
.HasTitle = True
.ChartTitle.Characters.Text = "Wert"
.Axes(xlCategory, xlPrimary).HasTitle = False
.Axes(xlValue, xlPrimary).HasTitle = False
End With
End Sub


Beim Starten des Makros erhalte ich aber jedesmal den Fehler


"Laufzeitfehler 1004: Anwendungs- oder objektdefinierter Fehler"

in der Zeile


Set src_data = Sheets("Diagramm").Range("C1:C10,Q1:Q10")

Geht man dann das Makro im Debug-Mode weiter (Einzelschritt), ist plötzlich alles ok.
Ich habe das schon so weit heruntergebrochen, dass das Problem offenbar in dieser Zeile liegt: _ p>


.FormulaR1C1 = "=HEX2DEC(RC[-2]&TEXT(RC[-3],""00""))-IF(RC[-2]>=128,65536,0)"

Schreibt man hier eine andere Funktion hinein dann geht es. Ich brauche aber nunmal diese Funktion. Auch mit "Copy" und "PasteSpecial xlValues" geht es nicht.
Hat jemand eine Idee, was ich noch tun kann?
Hier die Datei: https://www.herber.de/bbs/user/48160.xls
Vielen Dank schon mal im voraus,
Thomas

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Diagramm erstellen - Laufzeitfehler?
30.11.2007 14:24:00
Jan
Hi,
die Formel scheint falsch zu sein. Versuch erstmal, eine fünktionierende For in einer Zelle zu erstellen.
mfg Jan

AW: Diagramm erstellen - Laufzeitfehler?
30.11.2007 14:33:00
Thomas
Hallo Jan,
danke für deine Hilfe und deine Zeit!
Die Formel ist schon richtig, wie gesagt, das Analyse-Add-In muss installiert sein.
Ich habe inzwischen aber einen anderen Weg gefunden, die Werte einzugeben, und hiermit geht es _ dann auch:

With Range([B2], [B2].End(xlDown))
For Each c In .Offset(0, 15)
c.Value = CInt("&H" & c.Offset(0, -2) & Format(c.Offset(0, -3), "00"))
Next

Allerdings wird hiermit der Bereich Zelle für Zelle durchlaufen! Mit der anderen Methode konnte man mit einem Hieb alle Zellen gleichzeitig füllen.
Danke und Gruß,
Thomas

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige