AW: VBA Datum in Zelle eintragen und sortieren
13.04.2007 11:46:18
Peter aus Berlin
Hallo Erich,
funktioniert noch nicht richtig. In Spalte A wird jetzt ein neues Datum eingefügt und auch sortiert. Ich möchte aber ein vorhandenes Datum aus Spalte A verändern und dann die Zeile in der das Datum steht mit allen Werten und Formeln in den dazugehörigen Spalten sortieren. (Spalte A ist schon als Datum formatiert, wenn ich das Datum per Hand ändere und dann den Zellbereich A6 bis CM2000 sortiere funktioniert alles?!) Ich stelle die Datei mal rein.
Ich habe noch drei weitere Problemchen die man gleich mit lösen könnte.
1. Im Moment erscheint die Userform für die Eingabe des Datums nur wenn eine Zelle oder mehrere Zellen oder eine oder mehrere Zeilen mit mindestens einer markierten Zelle aus Spalte A markiert sind. Ich möchte, daß die Userform nur erscheint, wenn wirlich nur eine Zelle also ein Datum aus Spalte A markiert ist. Mein Code:
Private Sub cmbZeile_verschieben_Click()
'Dim Target As Range
If ActiveCell.Column = 1 Then 'Zelle in Spalte A aktiviert
If MsgBox("Wollen Sie diese Zeile verschieben?", vbOKCancel + _
vbQuestion, "Achtung!") = 1 Then
frmEingabe_Zeile_verschieben.Show
End If
Else
MsgBox "Sie haben keine Zeile markiert!"
End If
End Sub
2. Wenn ich eine Zelle markiert habe, dann über eine Schaltfläche "Zeile verschieben" das Makro auslöse verschwindet die Markierung von der ausgewählten Zelle. Ich möchte auch wenn Userform oder MsgBox erscheinen zur Kontrolle das markierte Datum sehen. Mein Code:
Option Explicit
Private Sub cmdAbbrechen_Click()
Unload Me
End Sub
Private Sub cmdOK_Click()
'Range("A:A").Find("", after:=[A6]).Activate
ActiveCell.Value = Me.txtDatum
Unload Me
Range("A6:CM2000").Sort Key1:=Range("A6"), Order1:=xlAscending, Header:= _
xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
End Sub
Private Sub UserForm_Initialize()
Me.txtDatum = ActiveCell.Value
End Sub
3. In der Userform habe ich ein Textfeld in dem ich das Datum eingebe. Bis jetzt kann ich dort auch Text oder alles mögliche eingeben. Man soll dort nur ein Datum korrekt eingeben können, wenn man das nicht korrekt macht soll eine MsgBox erscheinen. Kann man das Textfeld unter eigenschaften schon so formatieren? Wie müßte die Abfrage für die MsgBox bei unkorrekter Eingabe sein?
Datei: https://www.herber.de/bbs/user/41738.xls
PS: nicht wundern, in der Datei sind noch alle möglichen rudimentäre Codes
Danke im Voraus
Grüße aus Berlin