根据单选按钮选择分配单元格值

时间:2014-05-19 06:11:00

标签: excel vba assign

我正在尝试在用户选择单选按钮时为单元格指定值,该值会根据所选的单选按钮而改变。单选按钮位于表单上,我正在尝试将值分配给名为"工作区"

的工作表

这是我的代码

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"

2 个答案:

答案 0 :(得分:1)

Cells更改为Range,如下所示:

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 :(得分:1)

工作表的名称似乎在代码中缺少“s”(您在代码中键入“Workpace”而不是“Workspace”