Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Laufzeitfehler '438





Frage

hallo zusammen, wer kann mir bei folgendem makro helfen? nach aktivierung des makros erscheint : Laufzeitfehler '438 "Objekt übterstütz die eigenschaft bzw, methode nicht" Makro: Sub diagramm() Dim Zeile As Integer Dim Spalte As Integer Zeile = 5 Spalte = 2 kfound = False Sheets("Tabelle1").Activate Do Until kfound If ActiveSheet.Cells(Zeile, Spalte).Value <> "0" Then ' oberhalb erscheint der fehler (gelbe markierung) Spalte = Spalte + 1 Diagramm1.SetSourceData Source:=Sheets("Tabelle1").Range("B4:GT250"), _ PlotBy:=xlRows Else Diagramm1.SetSourceData Source:=Sheets("Tabelle1").Range(Cells(4, 2), Cells(250, Spalte - 1)), _ PlotBy:=xlRows kfound = True Exit Do End If Loop Sheets("Diagramm1").Activate End Sub hilfe? danke im voraus gruß sebal

Antwort 1 von Hajo_Zi

Hallo Sebal,

integer geht nur bis 32... und Excel hat 65536 falls Version vor 2007 also Zeile definieren als Long.

Gruß Hajo

Antwort 2 von sebal

hallo hajo,

dankeschön, hat funktioniert, aber im code oberhalb habe ich noch ein problem, vllt kannst du auch da helfen.

und zwar,

Spalte = Spalte + 1
Diagramm1.SetSourceData Source:=Sheets("Tabelle1").Range("B4:GT250"), _
PlotBy:=xlRows

bei Diagramm1 (also dem namen meines diagramms) scheint ein problem zu sein, da ich mein diagramm gerne "TBD" nennen möchte, dann tritt jedoch der fehler ' objekt erforderlich auf.
hast du rat?

danke
gruß sebal

Antwort 3 von Hajo_Zi

Hallo Sebal,

ich bin nicht der Diagramm Mensch.

Gruß Hajo

Antwort 4 von Beverly

Hi Sebal,

Charts("TBD").SetSourceData Source:=Sheets("Tabelle1").Range("B4:GT250"), _
PlotBy:=xlRows


Bis später,
Karin

Antwort 5 von sebal

hallo karin,

vielen dank, es hat funktioniert!

schönen tag
gruß sebal

Antwort 6 von sebal

hallo nochmal,

ich hätte da noch ien anderes problem,

If ActiveSheet.Cells(Z, Sp).Value <> "0" Then

mit der obigen zeile soll ein bestimmter bereich untersucht werden, ob in diesem der wert "0" steht.
es kann jedoch sein, dass in keiner der zellen die einen wert beeinhalten eine "0" steht.

wie sage ich dem programm dass es dann die suche beenden soll?

ganzes makro:

Sub diagramm()
Dim Z As Long
Dim Sp As Integer

Z = 700
Sp = 34
kfound = False

Sheets("TBT").Activate
Do Until kfound
If ActiveSheet.Cells(Z, Sp).Value <> "0" Then
Sp = Sp + 1
Charts("TBD").SetSourceData Source:=Sheets("TBT").Range("AH699:HZ950"), _
PlotBy:=xlRows
Else

Charts("TBD").SetSourceData Source:=Sheets("TBT").Range(Cells(699, 34), Cells(950, Sp - 1)), _
PlotBy:=xlRows
kfound = True

Exit Do
End If
Loop

End sub

kannst du mir hier vllt auch helfen?
gruß sebal

Antwort 7 von Marie

Do Until kfound ist Deine Schleife, das heisst sobald kfound true ist, bricht die ab. Also müsstest Du die begrenzen.

Versuch mal:

If ActiveSheet.Cells(Z, Sp).Value = "" Then exit do

die zeile bitte einfach zusätzlich einfügen nach der zeile Do Until kfound


Gruß Marie

Antwort 8 von sebal

hallo marie,

vielen dank für deinen tipp, es hat funktioniert!

war dieses mal meine frage verständlicher? :-)

danke,
gruß sebal

Antwort 9 von Marie

Ja Du lernst es langsam :-))

Gruß Marie

PS: Übrigens

Zitat:
kfound = True

Exit Do

Das Exit Do ist überflüssig, denn hier bricht die Schleife sowieso ab, wegen
Zitat:
Do Until kfound


Kannst es aber trotzdem so lassen.

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: