2014-05-19 97 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”在代码中(在代码中键入“工作空间”而不是“工作空间”)