将string从用户窗体移到调用表单的活动单元格

目前,我的代码打开一个用户表单,当一个特定的单元格被点击。 我想要的是将input的string移动到用户表单中的文本框中,以移动到被单击的单元格中,以便首先加载表单。 这是调用窗体的代码:

dim x as integer For x = 5 To 100 If Target.Address = "$AY$" & x Then UserForm1.Show End If Next x 

例如,用户点击单元格AY10,窗体打开,它们将stringinput到TextBox1中。 然后,我需要的是当他们点击一个提交button(Button1)时,string被移动到单元格AY10中,单元格被点击以最初打开表单。

只是

 Selection.Value = UserForm1.Textbox1.value 

应该这样做

在前端; 打开表单改变你显示的一切:

 if not intersect(target,Range("AY5:AY100") is nothing then UserForm1.Show 

这消除了循环。

在后端,你做了什么德克build议,但另一种方法是将target.address传递到一个共享的公共variables

 publicVarRange = Target 

然后,而不是使用select,你可以调用variables的范围。

 publicVarRange.value = textbox.value 

这样,如果在交换过程中选中的单元格发生了变化,它仍然会把值放在正确的单元格中。