作者foolkids (翼をください)
看板Office
标题[算表] 回传使用者於UserForm按下哪个按钮?
时间Sat Apr 21 06:40:26 2018
软体: Office Excel
版本: 2010
手机发文,排版见谅…
写了一个UserForm,里面有几个CommandButton。
目的是为了取代内定的MsgBox功能。
在使用MsgBox时,可以回传使用者按下的是哪个按钮,但是在自订的UserForm却找不到方式回传…
试了以下方式:
1. 於UserForm里加入一个Label1,每个按钮按下时都会对这个Label赋值。
2. VBA里再令变数 = UserForm1.Label1.Caption
但是无法成功,只会带回Label1的预设值,也就是说关掉UserForm之後,对Label1的赋值就不见了。
想试着在unload UserForm之前就先取变数,但是好像无法?不知道有没有前辈写过类似的需求呢?
--
┌─────────────────────────────┐
│就这样,终於到了启程的日子。
│
│和来机场送行的朋友们说着玩笑话,其实内心恍恍惚惚像在作梦。
│
│也似乎是因为,
为了走到「出发」这一步,耗尽了全部心力。 │
└─────────────────石田裕辅《不去会死!》─┘
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 223.136.102.241
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Office/M.1524264033.A.A32.html
1F:→ newacc: 要把值存在模组里 04/21 08:40
2F:→ foolkids: 在模组层次宣告变数的意思吗? 04/21 09:30
3F:→ soyoso: 赋值後,执行vba的流程是?於userform内按下commandbutton 04/21 10:27
4F:→ soyoso: ?还是以其他方式? 04/21 10:27
5F:→ foolkids: 藉由传回的值来在原来sub内决定程序的後续执行,Command 04/21 10:52
6F:→ foolkids: Button只是一个让使用者选择的概念 04/21 10:52
7F:→ soyoso: 前者,如unload userform写在模组程序内,则改为於 04/21 10:53
8F:→ soyoso: commandbutton内传值到程序,就可以unload userform 04/21 10:55
9F:→ soyoso: 程序(变数)的方式 04/21 10:55
10F:→ foolkids: 我会在CommandButton的程序内将Label赋值後关闭UserForm 04/21 10:55
11F:→ foolkids: 。 04/21 10:55
12F:→ soyoso: 抱歉应是 程序名称 变数(或以label1.caption) 04/21 10:57
13F:→ soyoso: 那流程是从sub内userform.show,让使用者选择後,unload 04/21 11:00
14F:→ soyoso: 回原sub,可以取得所选取commandbutton的资讯 04/21 11:02
15F:→ soyoso: 如果是的话sub上方public 变数,按下触发事件内变数 = 04/21 11:05
16F:→ soyoso: commandbutton要回传的资讯 04/21 11:06
17F:→ soyoso: sub内再引用该变数 04/21 11:07
18F:→ foolkids: 其实我现在确实是在Sub内load userform,待user按下butt 04/21 11:08
19F:→ foolkids: on後,写入label并unload UserForm。回到sub後,设定变 04/21 11:08
20F:→ foolkids: 数为label.caption。可是好像要在unload前取到变数?可 04/21 11:08
21F:→ foolkids: 是我找不到在unload前将变数取回到sub的方式… 04/21 11:08
22F:→ foolkids: 哦哦哦!好喔,我试试看public的方式,谢谢! 04/21 11:08
23F:→ foolkids: So大,还是不行耶,已经设定共用变数了,UserForm.Show 04/21 13:08
24F:→ foolkids: 之後会显示变数未定义,所以继承不过去 04/21 13:08
25F:→ foolkids: 後来用一个奇怪的方式解决,但是还是想知道有没有更直觉 04/21 13:13
26F:→ foolkids: 的? 我在CommandButton_Click里去呼叫原模组内的一个su 04/21 13:13
27F:→ foolkids: b,这样才可以直接对原模组内的Public变数赋值。 04/21 13:13
29F:→ soyoso: userform commandbutton按下触发写入变数 unload是可回传 04/21 13:21
30F:→ soyoso: 所按下commandbutton的caption 04/21 13:21
31F:→ foolkids: 奇怪… 写法一样却没办法重现… 版本问题? 04/21 14:19
32F:→ foolkids: 阿,我有个地方写错了… SO大的可行,谢谢! 04/21 14:28