Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

"Objekt erforderlich" -- Bei jedem 2. Run

Forumthread: "Objekt erforderlich" -- Bei jedem 2. Run

"Objekt erforderlich" -- Bei jedem 2. Run
02.03.2007 10:05:50
Steve
Folgenden Code habe ich verwendet. Bekomme bei jeder zweiten Ausführung die FM "Objekt erforderlich". D.h. einmal läuft alles ohne Probleme, ein zweites mal erhalte ich die FM... wenn ich die FM durch Beenden wegdrücke, kann ich ein weiteres mal den code ohne Probleme ausführen...
Hier der Code:
Sub Reporting_Invoice3(objStartzelle As Range, strMonat As String, strBerater As String)
Application.ScreenUpdating = False
Dim i As Integer
Dim j As Integer
'Werte einlesen
mstrDB = Range("DB").Value
mstrCube = Range("Cube_CO").Value
mstrBerater = strBerater
'mstrSicht = "Auftrag"
mstrMeasures = "Umsatz"
mstrMonat = strMonat
mstrJahr = Range("Jahr").Value            'Aktuelles Jahr
mstrKunde = Range("C14").Value            'Aktueller Kunde
j = 1
Count = Application.Run("PALO.ECOUNT", mstrDB, "Mandates")
Dim astrMandates() As String
ReDim astrMandates(1 To Count)
'Zellinhalt löschen (nur Spalte)
BereichLoeschen objStartzelle, 3
For i = 1 To Count
astrMandates(i) = Application.Run("PALO.ENAME", mstrDB, "Mandates", i)
If (Application.Run("PALO.DATA", mstrDB, mstrCube, mstrBerater, "Rechnung", mstrKunde, mstrMonat, _
_
_
_
mstrMeasures, astrMandates(i), mstrJahr) > 0) And _
_
(Application.Run("PALO.ELEVEL", mstrDB, "Mandates", astrMandates(i)) = 0) Then
objStartzelle.Offset(j - 1, 0) = astrMandates(i)
objStartzelle.Offset(j - 1, 3) = Application.Run("PALO.DATA", mstrDB, mstrCube, mstrBerater, _
_
_
_
"Rechnung", mstrKunde, mstrMonat, mstrMeasures, astrMandates(i), _
mstrJahr)
j = j + 1
End If
Next
Application.ScreenUpdating = True
End Sub

Wenn ich den Code einmal ausführe, kein Problem. Ein weiteres mal darauf erhalte ich die FM "Objekt erforderlich" und die Debug-Prozedur markiert folgende Stelle:
objStartzelle.Offset(j - 1, 0) = astrMandates(i)
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: "Objekt erforderlich" -- Bei jedem 2. Run
02.03.2007 11:06:01
Luschi
Hallo Steve,
wenn man Objekte (Range, Worksheets usw.) an Sub/Function übergibt, dann
sollte man die Objektvariablen mit ByRef kennzeichnen; also so:
Sub Reporting_Invoice3(ByRef objStartzelle As Range, strMonat As String, strBerater As String)
Gruß von luschi
aus klein-Paris
Anzeige
AW: "Objekt erforderlich" -- Bei jedem 2. Run
02.03.2007 12:25:12
Steve
Danke für den Typ. Hab ich eingebaut... Bekomme aber weiterhin die die FM "Objekt erforderlich" und die Debug-Prozedur markiert folgende Stelle:
objStartzelle.Offset(j - 1, 0) = astrMandates(i)
So rufe ich die Prozedur übrigens auf...
Private Sub Umsatz_Click()
Reporting_Invoice3 Range("E35"), Worksheets("Global").Range("N20"), "All Employees"
End Sub

Anzeige
AW: "Objekt erforderlich" -- Bei jedem 2. Run
02.03.2007 13:25:00
Luschi
Hallo Steve,
Range("35") ist zu ungenau in einer Schleife. Sollte in der Schleife das aktive Tabellenblatt
gewechselt werden, dann hat 'objStartzelle' beim 2. Durchlauf den Bezug zum Tabellenblatt
verloren. Deshalb auch hier die Arbeitstabelle mit angeben bei der Übergabe
Reporting_Invoice3 Worksheets("?")Range("E35"), Worksheets("Global").Range("N20"), "All Employees"
So bekommt das Objekt 'objStartzelle' seinen Bezug zur heimattabelle und vergißt es nicht mehr.
Gruß von Luschi
aus klein-Paris
Anzeige
AW: "Objekt erforderlich" -- Bei jedem 2. Run
02.03.2007 18:10:00
Steve
Danke Luschi. Hab es ausprobiert, aber der Fehler bleibt. Es ist zum verrückt werden...
AW: "Objekt erforderlich" -- Bei jedem 2. Run
03.03.2007 09:46:00
Luschi
Hallo Steve,
dann wird es mit 1 Ferndiagnose schwierig.
Vielleicht kast Du 1 abgespeckte Version der Exceldatei
hochladen, damit man sich das Problem von nahem ansieht.
Gruß von Luschi
aus klein-Paris
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige