VBA If Datum Then...
16.03.2016 13:40:36
Tim
folgendes Problem:
Ich habe in einer Userform verschiedene Abfragen. Unter anderem einen DTPicker zur Abfrage des Datums. Zur Zeit werden die Daten aus der Userform in einen andere Arbeitsmappe in der Tabelle "Datenbank" abgelegt.
Jetzt möchte ich eine Abfrage die im DTPicker schaut welcher Monat denn ausgewählt ist und anschließend die Daten in der Mappe nicht mehr stumpf in "Datenbank" ablegt, sondern in jeweiligen Monate. Also Tabellenblatt "Januar", "Februar", usw.
Ich würde jetzt wahrscheinlich probieren mit der If-Anweisung zu arbeiten.
If DTPicker Month = 1 Then
schreibe in "Januar"
If DTPicker Month = 2 Then
schreibe in "Feburar"
Mein Code wäre dieser hier (dank Hilfe von euch!)
'***************************************************************************
'Test aus Herber Forum
'***************************************************************************
'prüfen, ob die Datenbankdatei geöffnet ist.
Dim strVerzeichnisDatei As String
Application.ScreenUpdating = False
strVerzeichnisDatei = "Datenbank.xlsx"
If DateiIstFrei(strVerzeichnisDatei) = False Then
MsgBox "Datei ist bereits geöffnet !" & vbLf & "Bitte in ein paar Sekunden nochmals versuchen."
Exit Sub
End If
'In Datenbank schreiben
Dim wkbDB As Workbook
Dim wksDB As Worksheet
Dim Zeile As Integer
Set wkbDB = Application.Workbooks.Open(Filename:=strVerzeichnisDatei)
Set wksDB = wkbDB.Worksheets("Datenbank")
'In die erste freie Zeile schreiben
With wksDB
Zeile = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
.Cells(Zeile, 1) = Format(Me.DTPicker1.Value, "dd.mm.yy") & ", " _
& Format(Me.DTPicker2.Value, "hh:mm")
.Cells(Zeile, 2) = Me.ComboBox2.Value
.Cells(Zeile, 3) = Format(Me.DTPicker3.Value, "hh:mm")
.Cells(Zeile, 4) = Me.TextBox4.Text & "; " & Me.TextBox5.Text
.Cells(Zeile, 5) = Me.ComboBox3.Value
.Cells(Zeile, 6) = Me.ComboBox1.Value
End With
wkbDB.Close savechanges:=True
Application.ScreenUpdating = True
Ich weiß nicht richtig, aber die Richtung sollte verständlich sein.
Nun bin ich mir ziemlich sicher, dass das auch einfacher geht.
Selbst bin ich nicht der VBA Crack, aber geht sowas über ein Array?
Vielen Dank im Voraus!
Gruß
Tim