2015-10-05 86 views
0

我有一個用於將數據錄入Excel 2010的vba用戶表單。 一個文本框用於輸入國家代碼。我想使用一個複選框允許用戶在輸入國家後鎖定此文本框,以便他們可以繼續輸入數據,而無需一次又一次鍵入國家代碼。使用複選框來鎖定文本框並保留值

我以前的嘗試是檢查複選框是否被選中,並將焦點設置在旁邊的文本框中。

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

但它不起作用。

感謝

回答

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 
+0

它不起作用。當複選框未被選中時,沒有值被添加到Excel工作表中。 – bing

+0

刪除了'Else'塊 - 嘗試上面的編輯。 –