2014-02-02 2 views
0

Привет всем и спасибо, что посмотрели на мою проблему.VBA как: текстовое поле больше текущего года?

Я хочу создать кнопку в моей анкете пользователя, где будет проверяться, был ли год, введенный в TextBox_Year, между 2013 годами и текущим годом (должен быть переменным, чтобы он менялся со временем). Я искал в Интернете решение моей проблемы, но ничего не работает. Под моим текущим кодом, и проблема в bold. Я также пытался ввести Year(date) и year(today()) без везения.

Клетка CURRENTYEAR является именованной ячейки в моей книге, содержащей = Year(today()) и отображает 2014 (это значение, которое я хочу)

Опять спасибо за помощь!

Private Sub CommandButton_OK_Click()  
If UserForm1.TextBox_Year.Value <= "2012" Then 
MsgBox "Please enter a year between 2013 and the year you are in."  
    ElseIf UserForm1.TextBox_Year.Value > **Range("CurrentYear").Value** Then 
MsgBox "Please enter a year between 2013 and the year you are in." 
Else: 
    UserForm1.Hide 
End If 
End Sub 

ответ

1

Попробуйте этот код:

Private Sub CommandButton_OK_Click() 
    Dim textYear As Integer 

    On Error GoTo errHandler 
    textYear = CInt(UserForm1.TextBox_Year.Value) 
    If textYear <= 2012 Then 
     MsgBox "Please enter a year between 2013 and the year you are in." 
    ElseIf textYear > Range("CurrentYear").Value Then 
     MsgBox "Please enter a year between 2013 and the year you are in." 
    Else 
     UserForm1.Hide 
    End If 
    Exit Sub 
errHandler: 
    MsgBox Err.Description 
End Sub 
+1

Я люблю тебя! Он работал: D – user3263839

Смежные вопросы