使用复选框锁定文本框并保持值

时间:2015-10-05 21:51:52

标签: excel vba excel-vba userform

我有一个用于将数据输入Excel 2010的vba用户表单。 一个文本框用于输入国家/地区代码。我想使用复选框来允许 用户在输入国家/地区后锁定此文本框,以便他们可以继续输入数据而无需反复输入国家/地区代码。

我之前的尝试是检查复选框是否已选中,只是将焦点设置在旁边的文本框中。

if checkbox.value = true then
Me.txHome.setFocus
else ws.Cells(newRow,5).Value = Me.txCountry.Value
endif

但它没有用。

由于

1 个答案:

答案 0 :(得分:0)

设置一个公共变量并使用复选框更改事件来指定其值,如下所示:

Public String myCountry

Sub CheckBox1_Change()
    If CheckBox1.Value = True Then
        myCountry = txCountry.Value
    End If

    txCountry.Locked = (CheckBox1.Value = True)    
End Sub

然后在现有代码中,使用:

ws.Cells(newRow, 5).Value = myCountry