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

Vba 使用复选框锁定文本框并保留值,vba,excel,userform,Vba,Excel,Userform,我有一个vba用户表单,用于将数据输入Excel 2010。 一个文本框用于输入国家代码。我想使用复选框来允许 用户可以在键入国家/地区后锁定此文本框,这样他们就可以继续输入数据,而无需反复键入国家/地区代码 我之前的尝试是检查复选框是否被选中,并将焦点设置在它旁边的文本框上 if checkbox.value = true then Me.txHome.setFocus else ws.Cells(newRow,5).Value = Me.txCountry.Value endif 但它不起

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

我之前的尝试是检查复选框是否被选中,并将焦点设置在它旁边的文本框上

if checkbox.value = true then
Me.txHome.setFocus
else ws.Cells(newRow,5).Value = Me.txCountry.Value
endif
但它不起作用


谢谢

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

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

它不起作用。如果未选中复选框,则不会向excel工作表中添加任何值。