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

Fehlerroutine

Fehlerroutine
07.07.2007 11:10:48
highman4
Liebe Excelgemeinde,
Ich habe hier einen Code, wenn dieser Aktiv wird und ich gehe bei der Input-Eingabe auf abbrechen, dann wird der Code auch nicht mehr aktiviert.
Ich wollte vermeiden, daß er bei drücken abbrechen immer in den debug Modus geht.
Kann mir hier vielleicht jemand helfen?
Vielen Dank Marco
Dim JetztNicht As Integer
Dim AlteSpalte As Integer
Dim AlteReihe As Integer
Dim Number As Variant
Dim OldValue As String

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
' Solange eine relevante Zelle bearbeitet wird wird die Routine gesperrt
If JetztNicht = 1 Then Exit Sub
Reihe = ActiveCell.Row
Spalte = ActiveCell.Column
' Bereich eingrenzen
If AlteSpalte = 28 And (AlteReihe > 1 And AlteReihe  "" Then
JetztNicht = 1
Cells(AlteReihe, AlteSpalte).Activate
Number = InputBox("Bitte geben Sie das Intervall ein" & Chr(13) & "Wenn Sie auf  _
Abbrechen drücken umgehen Sie die Neueingabe eines Intervalls" & Chr(13) & "Folgende Varianten   _
_
stehen zur Auswahl" & Chr(13) & "1 = Intervall 2 2 2 2 2 2 2 1" & Chr(13) & "2 = Intervall 1 2  _
3 4 5 6 7 8" & Chr(13) & "3 = Daten selbst eingegeben ")
If Number = "" Then Exit Sub
If Number = 1 Then
ED = ArbTageAdd(Cells(AlteReihe, AlteSpalte), 2)
Cells(AlteReihe, AlteSpalte + 7) = ED
FW = ArbTageAdd(Cells(AlteReihe, AlteSpalte + 7), 2)
Cells(AlteReihe, AlteSpalte + 11) = FW
SC = ArbTageAdd(Cells(AlteReihe, AlteSpalte + 11), 2)
Cells(AlteReihe, AlteSpalte + 15) = SC
CS = ArbTageAdd(Cells(AlteReihe, AlteSpalte + 15), 2)
Cells(AlteReihe, AlteSpalte + 19) = CS
CL = ArbTageAdd(Cells(AlteReihe, AlteSpalte + 19), 2)
Cells(AlteReihe, AlteSpalte + 23) = CL
ND = ArbTageAdd(Cells(AlteReihe, AlteSpalte + 23), 2)
Cells(AlteReihe, AlteSpalte + 27) = ND
FIS = ArbTageAdd(Cells(AlteReihe, AlteSpalte + 27), 1)
Cells(AlteReihe, AlteSpalte + 31) = FIS
End If
Cells(Reihe, Spalte).Activate
JetztNicht = 0
End If
End If
A$ = (ActiveCell.AddressLocal)
AlteReihe = ActiveCell.Row
AlteSpalte = ActiveCell.Column
Dummy = DoEvents
Exit Sub
End Sub


1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Fehlerroutine
09.07.2007 06:57:00
Mustafa
Hallo highman4,
Versuch es mal so:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
' Solange eine relevante Zelle bearbeitet wird wird die Routine gesperrt
If JetztNicht = 1 Then Exit Sub
Reihe = ActiveCell.Row
Spalte = ActiveCell.Column
' Bereich eingrenzen
If AlteSpalte = 28 And (AlteReihe > 1 And AlteReihe  "" Then
JetztNicht = 1
Cells(AlteReihe, AlteSpalte).Activate
Number = InputBox("Bitte geben Sie das Intervall ein" & Chr(13) & "Wenn Sie auf  _
Abbrechen drücken umgehen Sie die Neueingabe eines Intervalls" & Chr(13) & "Folgende Varianten   _
_
_
stehen zur Auswahl" & Chr(13) & "1 = Intervall 2 2 2 2 2 2 2 1" & Chr(13) & "2 = Intervall 1 2   _
_
3 4 5 6 7 8" & Chr(13) & "3 = Daten selbst eingegeben ")
If Number = ""  Then JetztNicht = 0: Exit Sub
If Number = 1 Then
ED = ArbTageAdd(Cells(AlteReihe, AlteSpalte), 2)
Cells(AlteReihe, AlteSpalte + 7) = ED
FW = ArbTageAdd(Cells(AlteReihe, AlteSpalte + 7), 2)
Cells(AlteReihe, AlteSpalte + 11) = FW
SC = ArbTageAdd(Cells(AlteReihe, AlteSpalte + 11), 2)
Cells(AlteReihe, AlteSpalte + 15) = SC
CS = ArbTageAdd(Cells(AlteReihe, AlteSpalte + 15), 2)
Cells(AlteReihe, AlteSpalte + 19) = CS
CL = ArbTageAdd(Cells(AlteReihe, AlteSpalte + 19), 2)
Cells(AlteReihe, AlteSpalte + 23) = CL
ND = ArbTageAdd(Cells(AlteReihe, AlteSpalte + 23), 2)
Cells(AlteReihe, AlteSpalte + 27) = ND
FIS = ArbTageAdd(Cells(AlteReihe, AlteSpalte + 27), 1)
Cells(AlteReihe, AlteSpalte + 31) = FIS
End If
Cells(Reihe, Spalte).Activate
JetztNicht = 0
End If
End If
A$ = (ActiveCell.AddressLocal)
AlteReihe = ActiveCell.Row
AlteSpalte = ActiveCell.Column
Dummy = DoEvents
Exit Sub
End Sub


Ungetestet.
Rückmeldung obs Hilft wäre nett.
Viele Grüße aus Köln.

Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige