我正在创建一个userform,我希望能够在数据选项卡中填充值以及默认为某些值。 我想我有文本框和组合框,但无法找到使用多个可选按钮生成数据到一个单元格的信息,具体取决于选择。
从示例中,我的标准是"二级保险"我如何将它们全部链接起来,让我们说单元格b1是否填充了所选的选项? 我完全猜测,但我认为复选框更简单,如果选中则为true,如果未选中则为false。 我到目前为止只是一个代码,我遇到了一个代码,用一个指定文本/组合框的值来填充一个单元格,并且只是为每个我需要设置标准的列重复。
Private Sub CommandButton1_Click()
Dim LastRow As Long, ws As Worksheet
Set ws = Sheets("Sheet1")
LastRow = ws.Range("A" & Rows.Count).End(xlUp).Row + 1 'Finds the last blank row
ws.Range("A" & LastRow).Value = TextBox1.Text 'Adds the TextBox1 into Col A & Last Blank Row
Me.Hide
End Sub
组合框列表
Private Sub UserForm_Initialize()
ComboBox1.Value = ("N/A")
ComboBox1.List = Split("N/A Yes No")
End Sub
如果我缺少信息和/或如何附上我的测试工作表,请告诉我,希望你能看到图片(我不能在我的工作服务器上)。 提前感谢任何和所有教育。
答案 0 :(得分:2)
如果选项按钮的标题与您想要的单元格文本相同,那么这样的内容可能就是您要存储的内容:
Private Sub CommandButton1_Click()
Dim LastRow As Range
With Sheets("Sheet1")
Set LastRow = .Rows(.Cells(Rows.Count, 1).End(xlUp).Row + 1).Cells
If OptionButton1 Then
LastRow(2).Value2 = Me.OptionButton1.Caption
ElseIf Me.OptionButton2 Then
LastRow(2).Value2 = Me.OptionButton2.Caption
Else
LastRow(2).Value2 = Me.OptionButton3.Caption
End If
End With
End Sub
这会将所需的单元格设置为您选择的选项按钮的标题值。
要在userform中加载数据,您可以使用以下内容:
Sub Load_in(Row_To_Load As Long)
Dim MyRow As Range
With Sheets("Sheet1")
Set MyRow = .Rows(Row_To_Load).Cells
If MyRow(2).Value2 = OptionButton1.Caption Then
OptionButton1.Value = True
ElseIf MyRow(2).Value2 = OptionButton2.Caption Then
OptionButton2.Value = True
Else
OptionButton3.Value = True
End If
End With
End Sub
为此,我认为这些名字没有改变。此外,如果未选择任何内容,将使用第三个选项(N / A)。加载它也是一样的。如果您不想这样做,只需将Else
部分更改为ElseIf
,使其看起来像前两个选项。