复选框上的单元格值复制到Userform Textbox中

时间:2016-05-12 02:23:08

标签: excel excel-vba textbox userform vba

我有几张复选框,其中勾选时,复选框旁边的单元格值将被复制到文本框中。目前使用ActiveX文本框,下面的代码工作正常

Sub checkBoxHandler()
ActiveSheet.TextBox1.Text = ActiveSheet.TextBox1.Text & " " &  ActiveSheet.Shapes(Application.Caller).TopLeftCell.Offset(1, 1).Value
End Sub

但现在我想使用Userform Textbox,因为它可以浮动在工作簿上。修改下面的代码并不起作用(勾选复选框旁边的单元格值不会复制到Userform文本框中)。

Sub ShowTextBox()
UserForm1.TextBox1.Text = UserForm1.TextBox1.Text & vbLf &   ActiveSheet.Shapes(Application.Caller).TopLeftCell.Offset(1, 1).Value
UserForm1.Show vbModeless
End Sub

有人知道如何使其有效吗?

1 个答案:

答案 0 :(得分:0)

我做过类似的项目。我认为userform不支持​​这种方法。所以我这样做了:

我将activex文本框放在每个工作表上并相应地命名(Textbox1,Textbox2 ..),并将Visibility属性设置为False

我将宏(下面)分配给一个形状,以便将activex文本框的值传递给每张工作表上的Userform:

Sub hocmsummary()
UserForm1.TextBox1.Text = UserForm1.TextBox1.Text & ActiveSheet.TextBox2.Text

End Sub

请记住相应地更改文本框名称。