将字符串从用户表单移动到调用表单的活动单元格

时间:2015-10-29 19:25:18

标签: excel excel-vba userform vba

目前,我的代码会在单击特定单元格时打开用户表单。我想要的是将输入的字符串移动到用户表单中的文本框中,以便移动到单击的单元格,以便首先加载表单。 这是调用表单的代码:

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

例如,用户单击单元格AY10,表单打开,他们将字符串输入到TextBox1中。然后,我需要的是当他们点击提交按钮(Button1)时,字符串被移动到单元格AY10,单击的单元格最初打开表单。

2 个答案:

答案 0 :(得分:2)

简单地

Selection.Value = UserForm1.Textbox1.value

应该这样做

答案 1 :(得分:1)

在前端;打开表单会更改您要显示的所有内容:

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

删除循环。

在后端你做了Dirk提出的建议,但另一种方法是将target.address传递给共享的公共变量

publicVarRange = Target

然后,您可以从变量中调用范围,而不是使用选择。

publicVarRange.value = textbox.value

这样,如果在交换期间所选单元格发生更改,它仍会将值放在正确的单元格中。