2014-05-19 133 views
1

我想爲用戶選擇一個單選按鈕時爲單元賦值,該值根據所選無線電而變化。單選按鈕在窗體上,我試圖將值賦給一個名爲「工作區」基於單選按鈕選擇分配單元格值

此片的代碼,我

Private Sub OK_Click() 
    'A3 Assignment 
    If OpQ1_01_1.Value = True Then 
    Sheets("Workpace").Cells("A3").Value = "1" 
    ElseIf OpQ1_01_2.Value = True Then 
    Sheets("Workpace").Cells("A3").Value = "2" 
    ElseIf OpQ1_01_3.Value = True Then 
    Sheets("Workspace").Cells(A3).Value = "3" 
    ElseIf OpQ1_01_4.Value = True Then 
    Sheets("Workpace").Cells("A3").Value = "4" 
    ElseIf OpQ1_01_5.Value = True Then 
    Sheets("Workpace").Cells("A3").Value = "5" 
    ElseIf OpQ1_01_6.Value = True Then 
    Sheets("Workpace").Cells("A3").Value = "6" 
    End If 

據我可以告訴它應該工作,工作表是在那裏和一個單元格A3,但我不斷收到一條消息,說明「應用程序定義或對象定義的錯誤」,它不告訴我任何東西,但它突出顯示了我選擇的單選按鈕的代碼的分配部分(在此案例第三種選擇)

debug在這種情況下突出顯示了這段代碼

Sheets("Workspace").Cells(A3).Value = "3" 
+0

這是許多實例中的一個,其中的Option Explicit您的模塊的頂部將有助於診斷問題。最近的原因是,你忘了在該行上放置引號('「A3」')的'A3',所以實際上你調用'Cells(Empty)'將會給你那個特定的錯誤信息。但是你真正想要的是在[@ L42的答案](http://stackoverflow.com/a/23731136/119775)中描述的。 –

回答

1

變化CellsRange這樣的:

Sheets("Workspace").Range("A3").Value = "3" 

,或者如果你想堅持到Cells這樣的:

Sheets("Workspace").Cells(3, 1).Value = "3" 
'~~> where 3 is the row number and 1 is the column number. 
1

的表的名稱似乎缺少一個 「s」在代碼中(在代碼中鍵入「工作空間」而不是「工作空間」)