Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1500to1504
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
Inhaltsverzeichnis

Runtime Error 1004

Runtime Error 1004
29.06.2016 08:38:23
Peter
Hallo Zusammen,
seit heute morgen tritt bei mir im Code ein Runtime Error.
Genauer gesagt dieser: "runtime error 1004 application defined or object defined error"
komischerweise führe ich den Code schon seit Monaten ohne Probleme aus.
der Code lautet:

Function ReadItems(nTabLevel As Integer, ByRef nRow As Integer, ByRef nCol As Integer, Optional  _
_
_
ByVal iMonitored As Integer = 0) As String
Dim sItems As String
Dim sItem As String
Dim sPrefix As String
Dim nCurrentRow As Integer
Dim nCurrentCol As Integer
Dim sMerker As String
Dim sMerker2 As String
Dim sMerker3 As String
Dim wsMusterAlarmOff As Worksheet
Set wsMusterAlarmOff = Sheets("MusterAlarmOff")
wsMusterAlarmOff.Activate
Dim Q As String
Q = Chr$(34)
nCurrentRow = nRow
While Cells(nCurrentRow, nCol)  ""
nCurrentCol = nCol
sPrefix = ""
While Cells(nCurrentRow, nCurrentCol)  ""
sMerker = Cells(nCurrentRow, nCurrentCol).Value
sItem = sItem & sPrefix & Cells(1, nCurrentCol) & "=" & Q & Replace(Cells( _
nCurrentRow, nCurrentCol), ",", ".") & Q
sPrefix = " "
Cells(nCurrentRow, nCurrentCol).Value = sMerker
nCurrentCol = nCurrentCol + 1
Wend
sItems = sItems & getTabs(nTabLevel) & "" & vbCrLf        ' _
Struktur für Items wird mit ausgelesenem Wert beschrieben
nCurrentRow = nCurrentRow + 1
Wend
nRow = nCurrentRow
nCol = nCurrentCol
ReadItems = sItems
End Function

Der Code durchläuft mehrmals die Schleife und bricht dann mit dem oben benannten Fehler in der Zeile " While Cells(nCurrentRow, nCol) "" " ab.
Internet liefert nur bedingt Hilfe, da dort immer auf die nicht Aktivierung von Sheets verwiesen wird. Das tue ich allerdings.
Vielen Dank im Voraus.
Grüße Peter

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Runtime Error 1004
29.06.2016 09:28:19
EtoPHG
Hallo Peter,
Du hast keine Kontrolle über das Upper-Limit der Variablen nCurrentCol, d.h. theoretisch kann sie den Wert von Worksheets.Columns.Count überschreiten und dann zum genannten Fehler führen.
Da wir aber deine Datei nicht kennen, ist das nur eine Vermutung. Bei deinem Level müsstest du aber in der Lage sein, die Variablen (nCurrentRow, nCurrentCol) zu überwachen und uns mehr als nur die Codezeile mitteilen können.
Gruess Hansueli
P.S. Bei VBA gut sollte man auf .Activate verzichten!

AW: Runtime Error 1004
29.06.2016 12:55:32
snb
Und verzichte auf while... wend
Das heisst gegenwärtig: Do...Loop
In 'function' sollte man keine änderungen im Arbeitsblatt machen.
Was 'gettabs()' tut ist unbekannt.
Benützte 'currentregion' oder 'specialcells(2)' um nicht-leere Zellen zu finden

Anzeige
AW: Runtime Error 1004
29.06.2016 14:10:46
EtoPHG
Hallo snb,
Zitat: Und verzichte auf while... wend
Das heisst gegenwärtig: Do...Loop

äähhmmm, und wieso gibt es dann die beiden Konstrukte? ...und was heisst gegenwärtig in diesem Kontext?
Zitat: In 'function' sollte man keine änderungen im Arbeitsblatt machen.
äähmmmm, das ist für UDF (User defined functions) richtig, nicht aber allgemein gültig!
Zitat: Was 'gettabs()' tut ist unbekannt.
äähmmmm, würde es dir helfen, wenn du es wüsstest?
Zitat: 'currentregion' oder 'specialcells(2)'
2 verschiedene Paar Stiefel und wieder keine allgemein gültige Empfehlung!
Gruess Hansueli
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige