2017-09-05 60 views
0

我其实很熟悉如何禁用文本框或复选框,但是我在这里看到的是基于DOB自动计算的年龄文本框。请参见下面的代码:textbox value基于条件禁用复选框

Private Sub TextDOB_Exit(ByVal Cancel As MSForms.ReturnBoolean) 
If IsDate(Me.TextDOB.value) Then 
Me.TextAge.value _ 
= Age(CDate(Me.TextDOB.value), Date) 
Else 
Me.TextAge.value = "Invalid entry" 
End If 
End Sub 

上面的代码的结果是这样的“27年9个月” 现在进一步在此基础上,我必须禁用养老金复选框只有当员工的年龄大于58

我可以使用我们在excel中的左侧函数吗?尝试了一些,但没有很好的工作。请帮助

+0

让我们了解您的TextAge_exit尝试 – Luuklag

+0

我试图用左功能方面与if条件 - 如果左(textage.text,2)> = 58,然后CheckPEN.value = FALSE,它给了我跑时间或编译错误我猜。无法分享我最初尝试删除它的代码 –

+0

现在不要在意它的工作正常。我在TextAge_Error上运行代码而不是退出。 –

回答

0
Private Sub TextAge_Exit(ByVal Cancel As MSForms.ReturnBoolean) 
If Left(Me.TextAge.value, 2) >= 58 Then 
    Me.CheckPEN.value = False 
    CheckPEN.Enabled = False 
Else: 
    CheckPEN.Enabled = True 
End If 
End Sub