Ich möchte den folgenden Code auf mehrere Bereiche in der Excel Tabelle ausweiten! Bislang ist ja da nur die Zeile „A2“ bestimmt. Wie schaut der Code aus wenn ich die Zeilen „A3;F5“ nehmen will?
Danke übrigens an Richard, von dem ich den Code hier abgelesen habe!
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(0, 0) „A2“ Then Exit Sub
If Not IsNumeric(Target.Value) Then
MsgBox „so nicht“
Target.Value = 0
Target.Select
End If
End Sub
Hallo Crack, Anrede
Ich möchte den folgenden Code auf mehrere Bereiche in der
Excel Tabelle ausweiten! Bislang ist ja da nur die Zeile „A2“
bestimmt. Wie schaut der Code aus wenn ich die Zeilen „A3;F5“
nehmen will?
Private Sub Worksheet\_Change(ByVal Target As Range)
If Target.Address(0, 0) "A3" And Target.Address(0, 0) "F5" Then Exit Sub
Application.EnableEvents = False
If Not IsNumeric(Target.Value) Then
MsgBox "so nicht"
Target.Value = 0
End If
Application.EnableEvents = True
End Sub
Gruß Grußfloskel
Reinhard
Danke für die prompte Antwort! Aber jetzt macht er es nur bei den beiden Zellen! Ich meinte aber einen ganzen Zellbereich!
Danke für die prompte Antwort! Aber jetzt macht er es nur bei
den beiden Zellen! Ich meinte aber einen ganzen Zellbereich!
Hallo Crack,
A3 und F5 sind zwei Zellen, keine Zeilen.
Welchen Zellbereich meinst du?
Gruß
Reinhard
Hallo,
dann hab ich mich falsch ausgedrückt, sorry! Ich meine speziell den Zellbereich „B4 bis G34“!
Grüße
dann hab ich mich falsch ausgedrückt, sorry! Ich meine
speziell den Zellbereich „B4 bis G34“!
Hallo Itc,
dann vielleicht so:
Private Sub Worksheet\_Change(ByVal Target As Range)
If Target.Cells.Count 1 Then Exit Sub
If Intersect(Target, Range("B4:G34")) Is Nothing Then Exit Sub
Application.EnableEvents = False
If Not IsNumeric(Target.Value) Then
MsgBox "so nicht"
Target.Value = 0
End If
Application.EnableEvents = True
End Sub
Gruß
Reinhard
Ja…sieht wunderbar aus!!! Vielen Dank dafür!!!
Sorry, aber ich hab da noch nen kleines Problem! Weiß aber nicht wie man das lösen könnte!
Und zwar soll derjenige „gezwungen“ werden eine Zahl einzugeben und nicht nur die Tast „entf“, was ja auch möglich ist! Wenn das nämlich passiert steht in der Zelle gar nix!
Kann man für dieses Problem was finden?
Sorry, aber ich hab da noch nen kleines Problem! Weiß aber
nicht wie man das lösen könnte!
Und zwar soll derjenige „gezwungen“ werden eine Zahl
einzugeben und nicht nur die Tast „entf“, was ja auch möglich
ist! Wenn das nämlich passiert steht in der Zelle gar nix!
Hallo Itc,
so wie ich glaube zu wissen wird eine leere Zelle von Vba als numerisch 0 angesehen.
Probier mal eine der beiden Varianten, ist es das?
Private Sub Worksheet\_Change(ByVal Target As Range)
If Target.Cells.Count 1 Then Exit Sub
If Intersect(Target, Range("B4:G34")) Is Nothing Then Exit Sub
Application.EnableEvents = False
If Not IsNumeric(Target.Value) Or Target.Value = "" Then
MsgBox "so nicht"
Target.Value = 0
Target.Select
End If
Application.EnableEvents = True
End Sub
'
Private Sub Worksheet\_Change(ByVal Target As Range)
If Target.Cells.Count 1 Then Exit Sub
If Intersect(Target, Range("B4:G34")) Is Nothing Then Exit Sub
Application.EnableEvents = False
If Not IsNumeric(Target.Value) Or Target.Value = "" Then
Target.Value = "So nicht"
Target.Select
End If
Application.EnableEvents = True
End Sub
Gruß
Reinhard
Ja, die erste ist es! Mensch, vielen Dank nochmal dafür!