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

Fehler abfangen verursacht neuen Fehler

Fehler abfangen verursacht neuen Fehler
18.05.2005 21:41:10
marc
hallo Forum,
in der unten stehenden Prozedur will ich einen Fehler abfangen.
Falls im Worksheets("Ausw") [C9] kein Wert (leer ), dann Call Step_3A,
sonnst bearbeite die Mot-888 und Mot-889 Werte bis Ende.
Wenn der Wert 888 in [C9] steht, dann wird alles ohne Fehler abgearbeitet.
Wenn aber der erste Wert 888 in [C9] nicht vorhanden ist, dann läuft die
Sub-Prozedur bis Ende kommt aber zurück und bleibt stehen.
kann mir jemand helfen den Kreis zu verlassen !
marc :o(
Option Explicit

Sub Step_3T()
Dim wb As Workbook
Dim i As Integer
Dim str As String
Set wb = ActiveWorkbook
Application.ScreenUpdating = False
Sheets("Werte").Activate
Selection.AutoFilter field:=3, Criteria1:="888"
Range("C8:J900").Copy
Sheets("Ausw").Activate
Range("C65536").End(xlUp).Offset(1, 0).Activate
ActiveCell.PasteSpecial Paste:=xlValues
Range("A8").Select
Application.CutCopyMode = False
Worksheets("Ausw").Activate
If [C9] = "888" Then
Sheets("Chart").Range("C7:C26") = Sheets("Ausw").Range("C9:C28").Value
Sheets("Chart").Range("D7:D26") = Sheets("Ausw").Range("D9:D28").Value
Sheets("Chart").Range("E7:E26") = Sheets("Ausw").Range("J9:J28").Value
End If
If [C9] = "888" Then
i = MsgBox("aktuelle Werte in Mot.888 werden ermittelt !" & vbCr & vbCr & _
"           Bitte haben Sie etwas Geduld. ", vbExclamation, "MOT - 888")
Else: str = MsgBox("Keine Werte vorhanden!")
End If
If [C9] = Empty Then
Call Step_3A  ''<------!?
End If
If [C9] = "888" Then
Worksheets("Chart").Activate
Range("D7:E26").Copy
Workbooks.Open ("C:\Lauf\Report\D_Rep.xls")
Worksheets("D.A90").Activate
Range("B9").PasteSpecial Paste:=xlValue
Range("B8").Activate
End If
ActiveWorkbook.Save
ActiveWorkbook.Close
Worksheets("Ausw").Range("A9:J40").ClearContents
Worksheets("Chart").Range("C7:E26").ClearContents
Call Step_3A
End Sub

---------------------------------------------------------

Sub Step_3A()
Dim wb As Workbook
Dim i As Integer
Dim str As String
Set wb = ActiveWorkbook
Application.ScreenUpdating = False
Worksheets("Werte").Activate
ActiveSheet.Rows(7).AutoFilter field:=3
Selection.AutoFilter field:=3, Criteria1:="889"
Range("C8:J900").Copy
Sheets("Ausw").Activate
Range("C65536").End(xlUp).Offset(1, 0).Activate
ActiveCell.PasteSpecial Paste:=xlValues
Range("A8").Select
Application.CutCopyMode = False
If [C9] = "889" Then
Sheets("Chart").Range("C7:C26") = Sheets("Ausw").Range("C9:C28").Value
Sheets("Chart").Range("D7:D26") = Sheets("Ausw").Range("D9:D28").Value
Sheets("Chart").Range("E7:E26") = Sheets("Ausw").Range("J9:J28").Value
End If
If [C9] = "889" Then
i = MsgBox("aktuelle Werte in Mot.889 werden ermittelt !" & vbCr & vbCr & _
"     Bitte haben Sie etwas Geduld. " & vbCr & vbCr & _
"          - weiter mit [OK] .", vbExclamation, "MOT - 889")
End If
If [C9] = "889" Then
Worksheets("Chart").Activate
Range("D7:E26").Copy
Workbooks.Open ("C:\Lauf\Report\D_Rep.xls")
Worksheets("D.A93").Activate
Range("B9").PasteSpecial Paste:=xlValue
Range("B8").Activate
End If
Application.CutCopyMode = False
ActiveWorkbook.Save
ActiveWorkbook.Close
Worksheets("Ausw").Range("A9:J40").ClearContents
Worksheets("Chart.90.93").Range("C7:E26").ClearContents
Worksheets("Werte").Activate
ActiveSheet.Rows(7).AutoFilter field:=3
Application.ScreenUpdating = True
i = MsgBox("     Aktuelle Werte wuden ausgewertet    " & vbCr & vbCr & _
"und dem Verursacher zugeordnet !", vbInformation, "STEP-3 BEENDET")
End Sub

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

Betreff
Datum
Anwender
Anzeige
AW: Fehler abfangen verursacht neuen Fehler
19.05.2005 07:31:42
Harald
Hallo Marc,
nach Call geht er immer wieder in die Zeile unterhalb Call zurück.
Daher arbeite mit goto

Sub weiter()
If [C9] = Empty Then
goto weiter: ' statt Call Step_3A  <------!?
End If
If [C9] = "888" Then
Worksheets("Chart").Activate
Range("D7:E26").Copy
Workbooks.Open ("C:\Lauf\Report\D_Rep.xls")
Worksheets("D.A90").Activate
Range("B9").PasteSpecial Paste:=xlValue
Range("B8").Activate
End If
ActiveWorkbook.Save
ActiveWorkbook.Close
Worksheets("Ausw").Range("A9:J40").ClearContents
Worksheets("Chart").Range("C7:E26").ClearContents
weiter:
Call Step_3A
End Sub

Gruß
Harald
Anzeige
AW: Fehler abfangen verursacht neuen Fehler
19.05.2005 12:22:55
marc
Hallo Harald,
ich bedanke mich fuer die Tipps und versuche den genannten Fehler zu korrigieren.
Danke.
-
marc...

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige