Forums Neueste Beiträge
 
Tags Keywords

If Range

12/09/2007 - 04:30 von Robert Jakob | Report spam
Hallo zusammen,

eigentlich möchte ich mit der IF-Anfrage:
If ActiveCell = Range(Cells(33, 3), Cells(43, 4)) Then _
ActiveCell.Value = DateValue(TextBoxDatum1.Value)

erreichen, daß Datumeintràge nur in den Zellen C33:D43
möglich sind.

Leider funktioniert die IF-Abfrage nicht richtig, denn wenn
die aktive Zelle in der Spalte E ist, dann wird auch da das
Datum reingeschrieben, das soll aber nicht so sein.
(Ansonsten funktioniert alles einwandfrei)

Hier mein Code:

Private Sub CmdButtonDatumUebergabe_Click()
On Error Resume Next
If ActiveCell.Row < 33 Then MsgBox "Abbruch, AbseitsMeldung": Exit Sub
If ActiveCell.Row > 43 Then MsgBox "Abbruch, AbseitsMeldung": Exit Sub


If ActiveCell = Range(Cells(33, 3), Cells(43, 4)) Then _
ActiveCell.Value = DateValue(TextBoxDatum1.Value)

If Range("D" & ActiveCell.Row).Value = Empty Then _
Range("D" & ActiveCell.Row).Activate
End Sub


Die If Abfrage If ActiveCell.Row < 33 u.s.w. funktioniert
wie immer einwandfrei.


Muß ich die If - Abfrage für den Bereich anders formulieren ?

Bitte um Hinweise.

MfG
Robert
 

Lesen sie die antworten

#1 Robert Jakob
12/09/2007 - 04:39 | Warnen spam
Am Wed, 12 Sep 2007 04:30:52 +0200 schrieb Robert Jakob:

Hallo zusammen,

eigentlich möchte ich mit der IF-Anfrage:
If ActiveCell = Range(Cells(33, 3), Cells(43, 4)) Then _
ActiveCell.Value = DateValue(TextBoxDatum1.Value)



Eigene Antwort :

Nun habe ich den Code mal wie folgt umgebaut:


Private Sub CmdButtonDatumUebergabe_Click()
On Error Resume Next
If ActiveCell.Row < 33 Then MsgBox "Abbruch, AbseitsMeldung": Exit Sub
If ActiveCell.Row > 43 Then MsgBox "Abbruch, AbseitsMeldung": Exit Sub
If ActiveCell.Column < 3 Then MsgBox "Abbruch, AbseitsMeldung": Exit
Sub
If ActiveCell.Column > 4 Then MsgBox "Abbruch, AbseitsMeldung": Exit
Sub

ActiveCell.Value = DateValue(TextBoxDatum1.Value)

If Range("D" & ActiveCell.Row).Value = Empty Then _
Range("D" & ActiveCell.Row).Activate
End Sub


Jetzt werden die Grenzen beachtet.

Könnte man das noch einfacher schreiben ?

MfG
Robert

Ähnliche fragen