2016-04-21 108 views
0

第一篇文章,我會盡我所能使它成爲一個好的(請告訴我,如果我做錯了)。我似乎無法正確編寫代碼以使用變量更改工作表上覆選框或選項按鈕的值。當它的名字是一個變量的值時,改變複選框的值

假設複選框名稱的名稱爲 「Chk1的」,通常我會寫:

Worksheets("AP-1").Chk1.value=X 

其中X是(True或False)。由於這是一個循環,我使用一個稱爲FoundRange一系列變量,它的值是複選框的名字,所以我嘗試:

dim chkname as string 
chkname=foundrange.value 
Worksheets("AP-1").Chkname.value=X 

我也試過

Worksheets("AP-1").CheckBoxes(chkname).Value = X 

Worsheets("AP-1").Shapes(chkname).ControlFormat.Value=X 

我也有一個鏈接單元格,我用來更改值,但是當它寫入false或true時,複選框變爲灰色,我需要在鏈接的單元格中按F2 + Enter使複選框顯示適當的價值。我還嘗試在更改其值並使用該代碼後選擇鏈接的單元格:

Application.SendKeys "{F2}" 
Application.SendKeys "{ENTER}" 

但它沒有工作。 請幫我:)

回答

0

根據您最初的代碼,它必須是一個ActiveX控件,而不是形成一個,所以:

dim chkname as string 
chkname=foundrange.value 
Worksheets("AP-1").OLEObjects(Chkname).Object.value = X 
+0

工作就像一個魅力!我確信我也嘗試過這個,但我一定犯了一個錯誤。感謝Rory! – MrTryHard

相關問題