一个关于EXCEL VBA 子程序控件参数传递的问题 5
比如我有一个按钮和N个TEXTBOX想实现的效果是在固定的textbox中输入其他textbox的控件名来为每个控件的textbox.text填写内容PrivateSub...
比如我有一个按钮和N个TEXTBOX想实现的效果是在固定的textbox中输入其他textbox的控件名来为每个控件的textbox.text填写内容
Private Sub CommandButton1_Click()
xxxx (TextBox1) 传递textbox1的值为AAA
End Sub
Public Sub xxxx(t As TextBox) 声明T为TEXTBOX类
t.Text = "aaa" 蒋AAA赋值给textbox
End Sub
每次这样都出运行错误424 要求对象!请求大家帮忙 展开
Private Sub CommandButton1_Click()
xxxx (TextBox1) 传递textbox1的值为AAA
End Sub
Public Sub xxxx(t As TextBox) 声明T为TEXTBOX类
t.Text = "aaa" 蒋AAA赋值给textbox
End Sub
每次这样都出运行错误424 要求对象!请求大家帮忙 展开
2个回答
展开全部
为什么要用子过程呢,看你的要求根本没必要啊
假设窗体名称为userform1, 文本框的名称分别是textbox1,textbox2,textbox3 ,按钮的名称是commandbutton1
在textbox3中输入textbox1或者textbox2,然后点击按钮
按钮的代码如下
Private Sub CommandButton1_Click()
On Error GoTo Err
If TextBox3.Value <> "" Then UserForm1.Controls(TextBox3.Value).Value = "AAA"
Exit Sub
Err:
MsgBox "输入的文本框控件名称错误或不存在!"
End Sub
建议你把textbox3 用列表框代替,然后添加textbox名称到列表.下拉选择即可,这样可以避免输入文本框错误,从而省去错误处理代码 同时也简化了.操作.
假设窗体名称为userform1, 文本框的名称分别是textbox1,textbox2,textbox3 ,按钮的名称是commandbutton1
在textbox3中输入textbox1或者textbox2,然后点击按钮
按钮的代码如下
Private Sub CommandButton1_Click()
On Error GoTo Err
If TextBox3.Value <> "" Then UserForm1.Controls(TextBox3.Value).Value = "AAA"
Exit Sub
Err:
MsgBox "输入的文本框控件名称错误或不存在!"
End Sub
建议你把textbox3 用列表框代替,然后添加textbox名称到列表.下拉选择即可,这样可以避免输入文本框错误,从而省去错误处理代码 同时也简化了.操作.
追问
你理解错了。也有可能是我表达的不够明确。。
我的意思是我有一个子程序。。在不通的TEXTBOX里输入不通的代号来执行不通的指令。但是所有的指令都是同一个子程序。唯一不通的就是TEXTBOX的不通。。所以我不想写很多遍。。所以想用T 设置程TEXTBOX类。。通过其他程序来调用这个子程序。。
追答
你的意思不就是通过一个文本框,和一个命令按钮往其他的文本框中输入不同的字符吗?
过程直接好像只能传递参数,不能直接传递对象吧.
我给你的代码,是通过改变textbox3 的value值,来改变相应的文本框的value.
如果你一定要用子程序来实现
Private Sub CommandButton1_Click()
T_change("textbox1")
End Sub
sub T_change(T_str as string)
UserForm1.Controls(T_str).Value = "AAA"
end Sub
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询