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

On Error Funktioniert nicht!

Forumthread: On Error Funktioniert nicht!

On Error Funktioniert nicht!
23.01.2009 08:11:00
gangstergamer1
Guten morgen,
Ich habe ein Textdokument welches ich in Excel einlese und dort weiterverarbeite.
Allerdings steht in der Spalte die ich auslese ab und zu "=-----MASSFLOW", damit hat VBA wohl so
seine schwirigkeiten, deswegen habe ich "On Error GoTo jump" eingebaut. Funktionierte auch super bis auf einmal wieder der Fehler in der IF abfrage auftrat: "Laufzeitfehler13 Typen unverträglich".
Wie kann es sein das die Abfrage mal funktioniert und mal nicht? Jemand eine Idee vllt? der Quelltext ist unten gepostet:
Do Until cells(Row,Col) = ""
On Error GoTo jump
If Cells(Row, Col) = "R0" Or Cells(Row, Col) = "R1" Or Cells(Row, Col) = "R2" Or Cells(Row, Col) = "R(M)" Then
Row = Row + 2
Exit Do
End If
jump:
Row = Row + 1
Loop
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: On Error Funktioniert nicht!
23.01.2009 08:23:16
Oberschlumpf
Hi dein name?
Schreib mal unter die Zeile Row = Row + 1
Resume Next
Mehr zu Resume in der XL-Hilfe.
Hilfts?
Ciao
Thorsten
AW: On Error Funktioniert nicht!
23.01.2009 08:24:34
gangstergamer1
Jawoll jetzt gehts danke :-)
AW: On Error Funktioniert nicht!
23.01.2009 08:43:00
gangstergamer1
Okay war wohl zu früh gefreut...
durch die resume next anweisung wird die Zeile nach dem Fehler weitergemacht und das ist in dem Fall "Row = Row + 2" und genau das soll eig nicht passieren. Jemand noch eine Idee ausser Resume next?
Anzeige
AW: On Error Funktioniert nicht!
23.01.2009 08:57:56
Tino
Hallo,
versuche es mal so

Do Until Cells(Row, Col) = ""
On Error Resume Next
If Cells(Row, Col) = "R0" Or Cells(Row, Col) = "R1" Or Cells(Row, Col) = "R2" Or Cells(Row, Col) _
= "R(M)" Then
If Err.Number  0 Then GoTo jump:
Row = Row + 2
Exit Do
End If
jump:
Err.Clear: Err.Number = 0
Row = Row + 1
Loop


Anzeige
AW: On Error Funktioniert nicht!
23.01.2009 10:11:00
Tino
Hallo,
was mir so nebenbei gerade auffällt,
in welchen Zellformat ist die Zelle wo =-----MASSFLOW drin steht.
Vielleicht solltest Du die Zellen vor dem Import als Text Formatieren.
Oder die Zelle mit Cells(LRow,LCol).text auslesen.
Gruß Tino
AW: On Error Funktioniert nicht!
23.01.2009 10:23:00
gangstergamer1
Die Zellen sind als Zahl formatiert.. habs als Text ausprobiert leider funktionierts nicht.
Anzeige
AW: besser ohne On Error
23.01.2009 09:47:52
Erich
Hallo gaga (von deinem Usernamen abgeleitet),
mit "On Errrrror ..." würde ich - auch hier - möglichst nicht arbeiten.
Oft kennt man den zu erwartenden Fehler und kann spezifisch darauf reagieren, ohne die "On Error"-Keule.
Probier mal:

Option Explicit
Sub tst()
Dim lngR As Long
Const lngC = 1
lngR = 1
Do Until IsEmpty(Cells(lngR, lngC))
If IsError(Cells(lngR, lngC)) Then
' tu was, wenn gewünscht
ElseIf Cells(lngR, lngC) = "R0" Or Cells(lngR, lngC) = "R1" Or _
Cells(lngR, lngC) = "R2" Or Cells(lngR, lngC) = "R(M)" Then
' tu was, wenn gewünscht, z. B.
lngR = lngR + 1
Exit Do
End If
lngR = lngR + 1
Loop
End Sub

Noch ein Tipp:
Z. B. "Row" ist ein geschützter Begriff und sollte nicht als Variablenname verwendet werden.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
AW: besser ohne On Error
23.01.2009 10:27:06
gangstergamer1
Nicht schlecht! ;-) ... funktioniert super mit "IsError" vielen Dank
Wer lässt sich den das Wort Zeile(Row) schützen :-D
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
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