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

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

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

280 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige