Ich versuche, alle Dateneinträge, die in einem Benutzerformular Monat und Jahr ausgewählt sind. Ich kann den Code gut laufen lassen, wenn ich das Jahr fest programmiere, aber ich will, dass das Jahr von einer Textbox abkommt. Ich konvertierte den Textbox
Wert in eine ganze Zahl unter Verwendung Cint()
und dim'd es zu "Jahr" in meiner if Anweisung. Ich kann es zum Arbeiten bringen, wenn ich Cdate("3/1/2016")
schreibe, aber ich will sehen, ob es eine Weise gibt, es wie zu laufen: Cdate("3/1/Year")
. Ich habe es auf diese Weise versucht und einen Schreibfehler auf dem Cdate bekommen, was ziemlich neu für VBA ist, also entschuldige meine Dummheit.Verwenden einer Variable in codierten Datum
Ignorieren Sie die Variable "Monat", die ich gerade verwendet habe, um den Code zu stoppen und durchzugehen, um zu sehen, ob er in meine if-Anweisung eingehen würde.
Vielen Dank im Voraus.
My-Code
Private Sub OKBtn_Click()
Dim Sales As Range
Dim Year As Integer
Dim Month As Integer
Dim i As Integer
Year = CInt(YearText.Value)
Set Sales = Worksheets("Sales").Range("A4")
i = 0
If Sales.Offset(i, 1).Value >= CDate("3/1/2016") And Sales.Offset(i, 1).Value <= CDate(" 3/31/2016 ") Then
Month = 1
End If
versuchen Sie den Code unten und sehen, ob es für Sie funktioniert –