Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 4326|回复: 5

[已解决]各窗体共用一个TREEVIEW时,如何让TREEVIEW的值赋给当前窗体

[复制链接]
发表于 2014-5-7 18:10 | 显示全部楼层 |阅读模式
本帖最后由 蝶·舞 于 2014-5-7 21:35 编辑

在工作表有用三个窗体(userform1,userform2,userform3),而且这三个窗体中都有一个textbox1的控件,但这个textbox1事件都调用到第四个窗体中的TREEVIEW,我想现在如何当双击TREEVIEW的内容时,将值自动放到当前窗体的Textbox1中去。
举个例子,我打开userform1窗体,通过这个窗体上的textbox1事件,激活treeview,现在我双击treeview的内容,自动将这内容赋值给userform1中的textbox1,如果我打开的是userform2窗体,则将treeview的值赋值给userform2中的textbox1

最佳答案
2014-5-7 21:24
共用.zip (15.91 KB, 下载次数: 103)
发表于 2014-5-7 18:19 | 显示全部楼层
打开(或者active事件可能更适合)123窗体时将它的name赋值给一个public变量.
根据这个变量来判断treeview的值赋给谁.
回复

使用道具 举报

 楼主| 发表于 2014-5-7 18:23 | 显示全部楼层
Zipall 发表于 2014-5-7 18:19
打开(或者active事件可能更适合)123窗体时将它的name赋值给一个public变量.
根据这个变量来判断treeview的 ...

窗体名字不一定就默认的,改成别的名字了
回复

使用道具 举报

发表于 2014-5-7 18:48 | 显示全部楼层
蝶·舞 发表于 2014-5-7 18:23
窗体名字不一定就默认的,改成别的名字了

这个和窗体名称用默认或是被修改无关.

在标准模块里定义变量 public x as string

在每个窗体的active里写代码(如果窗体非常多可以考虑类模块,但是窗体特别多说明设计不合理)
Private Sub UserForm_Activate()
    x = Me.Name
End Sub


最后用下面的代码实现根据x值在不同窗体写内容.
Sub test()
    '...

    Select Case x
        Case "userform1"
            UserForm1.textbox1 = y
        Case "userform2"
            UserForm2.textbox1 = y
            '...
    End Select
End Sub


回复

使用道具 举报

 楼主| 发表于 2014-5-7 20:21 | 显示全部楼层
Zipall 发表于 2014-5-7 18:48
这个和窗体名称用默认或是被修改无关.

在标准模块里定义变量 public x as string

在标准模块里定义变量 public x as string
这个怎么操作啊,因为我用不到在模块里写代码。我提供一个附件吧,只是把TREEVIEW改成COMBOBOX,如何通过COMBOBOX的CHANGE事件,将COMBOBOX选择的内容赋值到相应的USERFORM中去 共用.zip (10.57 KB, 下载次数: 7)
回复

使用道具 举报

发表于 2014-5-7 21:24 | 显示全部楼层    本楼为最佳答案   
共用.zip (15.91 KB, 下载次数: 103)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-18 02:02 , Processed in 0.247763 second(s), 9 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表