Datenbank mit Hinzufügung von Datum/Zeit
27.04.2017 21:56:39
Datum/Zeit
zurzeit versuche ich eine Datenbank zu erstellen mit folgenden Funktionen:
1.) 4 Spalten (Wert 1, Wert 2, Datum und Zeit)
2.) Nach Eingabe eines Wertes in die erste Zeile von Spalte(Wert 1) und Bestätigung mit Enter, springt die aktive Zelle automatisch in die erste Zeile von Spalte(Wert 2). Wenn in die ersten Zeilen der Spalte(Wert 1) und Spalte(Wert 2) ausgefüllt sind, dann wird automatisch das aktuelle Datum und die aktuelle Zeit in die erste Zeile Spalte(Datum) und Spalte(Zeit) hinzugefügt. Anschließend springt die aktive Zelle in die zweite Zeile von Spalte(Wert 1). Und die Schleife beginnt von vorne.....
3.) In der Spalten(Wert 1) und Spalte(Wert 2) werden nur Werte akzeptiert, die mit A bzw. mit B beginnen. Wenn diese nicht mit dem geforderten Buchstaben beginnen, dann erscheint eine Fehlermeldung.
4.) Bei starten der Excel-Datei, soll die aktive Zelle automatisch in die aktuellste Zelle springen.
Folgendes habe ich selbst programmiert:
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Bei laufendem Programm in die richtige Zelle springen On Error GoTo ErrorHandler
Dim counter_Wert1 As Integer
Dim counter_Wert2 As Integer
Dim counter_Datum As Integer
Dim counter_Zeit As Integer
counter_Wert1 = 1
counter_Wert2 = 1
counter_Datum = 1
counter_Zeit = 1
While Not IsEmpty(Cells(counter_Wert1, 1))
counter_Wert1 = counter_Wert1 + 1
Wend
While Not IsEmpty(Cells(counter_Wert2, 2))
counter_Wert2 = counter_Wert2 + 1
Wend
While Not IsEmpty(Cells(counter_Datum, 3))
counter_Datum = counter_Datum + 1
Wend
While Not IsEmpty(Cells(counter_Zeit, 4))
counter_Zeit = counter_Zeit + 1
Wend
If counter_Wert1 = counter_Wert2 Then
Cells(counter_Wert1, 1).Select
Else
Cells(counter_Wert2, 2).Select
End If
ErrorHandler:
Exit Sub
End Sub
Private Sub Worksheet_Activate()
Bei Neustart des Programmes in die richtige Zelle springen
On Error GoTo ErrorHandlerDim counter_Wert1 As Integer
Dim counter_Wert2 As Integer
Dim counter_Datum As Integer
Dim counter_Zeit As Integer
counter_Wert1 = 1
counter_Wert2 = 1
counter_Datum = 1
counter_Zeit = 1
While Not IsEmpty(Cells(counter_Wert1, 1))
counter_Wert1 = counter_Wert1 + 1
Wend
While Not IsEmpty(Cells(counter_Wert2, 2))
counter_Wert2 = counter_Wert2 + 1
Wend
While Not IsEmpty(Cells(counter_Datum, 3))
counter_Datum = counter_Datum + 1
Wend
While Not IsEmpty(Cells(counter_Zeit, 4))
counter_Zeit = counter_Zeit + 1
Wend
If counter_Wert1 = counter_Wert2 Then
Cells(counter_Wert1, 1).Select
Else
Cells(counter_Wert2, 2).Select
End If
ErrorHandler:
Exit Sub
End Sub
Was mir jetzt noch fehlt ist, dass ich beim richtigen Eintragen in die Zeilen von Spalte(Wert 1) und Spalte(Wert 1) das Datum und die Zeit eingetragen wird in die gleiche Zeile eingetragen wird.
Ich denke, dass ich dafür Private Sub Worksheet_Change(ByVal Target As Range) verwenden muss. Wie kann ich programmieren, dass ein Makro ausgeführt wird, wenn eine bestimmte Zelle (die Zelle ändert sich ständig) verändert wird?
Ich hoffe ihr könnt mir ein bisschen helfen
Herzlichen Dank schon mal
Max