Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

On Error Resume Next

Forumthread: On Error Resume Next

On Error Resume Next
10.01.2006 15:21:21
Ernst
Hallo Forum
Habe ein Problem mit dem untenstehenden Code.
Der Code funktioniert, jedoch wenn in der Spalte 2 die Zelle nach unten Kopiert wird gibt es ein Problem. Wie müsste der Fehlerabfang korrekt geschrieben werden um dieses Problem zu verhindern?
Bitte um Fehlerbehebung.
Mfg
Ernst Dunkel

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
On Error Resume Next
If Target.Column = 2 And Target.Row > 10 And Target.Row < 20 Then
If Target = "8" Then Target = "N"
If Target = "2" Then Target = "S"
If Target = "4" Then Target = "W"
If Target = "6" Then Target = "E"
End If
End Sub

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: On Error Resume Next
10.01.2006 16:08:50
Unbekannter
Ich sehe kein Fehler und es wird auch nix kopiert.Schreibe mal die Fehlermeldung rein oder besser eine Mappe wo dieser auftritt.
Gruß UN1
AW: On Error Resume Next
10.01.2006 16:56:47
volker
hallo ernst,
wenn du in worksheet_change in zellen was reinschreibst , dann wird worksheet_change ja wieder aufgerufen ! deshalb sollte man
Application.EnableEvents = False bzw Application.EnableEvents = true
mit einbauen.
desweiteren weiß ich nicht wie man mit dem dem target von worksheet_change einen bereich (denke du meinst das mit nach unten kopieren) abdekt , habe das noch nicht hinbekommen , nehme deshalb immer noch zusätzlich selection.rows.count und selection.columns.count mit ins boot.
zb. so:

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
For r = Target.Row To Target.Row + Selection.Rows.Count - 1
For c = Target.Column To Target.Column + Selection.Columns.Count - 1
If c = 2 And r > 10 And r < 20 Then
Application.EnableEvents = False
If Cells(r, c) = "8" Then Cells(r, c) = "N"
If Cells(r, c) = "2" Then Cells(r, c) = "S"
If Cells(r, c) = "4" Then Cells(r, c) = "W"
If Cells(r, c) = "6" Then Cells(r, c) = "E"
Application.EnableEvents = True
End If
Next c
Next r
End Sub

gruß volker
Anzeige
Danke
10.01.2006 17:10:37
Ernst
Hallo Volker
vielen Dank für Deine Hilfe, mit Deinem Code funktioniert es.
Dank auch an UN1
mfg
Ernst Dunkel
AW: On Error Resume Next
10.01.2006 17:11:30
volker
hallo , habe gerade gemerkt daß man es auch so schreiben kann:

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
For r = Target.Row To Target.Row + Target.Rows.Count - 1
For c = Target.Column To Target.Column + Target.Columns.Count - 1
If c = 2 And r > 10 And r < 20 Then
Application.EnableEvents = False
If Cells(r, c) = "8" Then Cells(r, c) = "N"
If Cells(r, c) = "2" Then Cells(r, c) = "S"
If Cells(r, c) = "4" Then Cells(r, c) = "W"
If Cells(r, c) = "6" Then Cells(r, c) = "E"
Application.EnableEvents = True
End If
Next c
Next r
End Sub

damit ist der satz "desweiteren weiß ich nicht wie man mit dem dem target von worksheet_change einen bereich abdeckt" natürlich schwachsinn.
gruß volker.
Anzeige
Noch mals danke: On Error Resume Next
10.01.2006 18:26:05
Ernst
Hallo Volker
Vielen Dank für Deinen Einsatz.
mfg
Ernst Dunkel
;

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