Excel精英培训网

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

[已解决]大神求救,怎么让窗体宏显示某一个单元格内容

[复制链接]
发表于 2015-8-29 13:39 | 显示全部楼层 |阅读模式
本帖最后由 图气小P孩 于 2015-8-29 13:56 编辑

大神们求救,这个东西研究了我好几个晚上,天天都没睡好。 我想在报表里加入一个窗体宏,我想一打开excel的时候就弹出一个框,然后上面可以写一下这个报表时什么时候更新,更新内容什么的,我研究了几晚,现在能自动弹出窗口,但是就是没内容显示,求救啊~~~~

一下是我写的

workbook_open()
userform.show
end sub

然后userform要怎么写??

textbox1_change()

textbox1= sheet1cells(1,1)

end sub

我这样写打开没内容,为什么???
最佳答案
2015-8-29 17:51
图气小P孩 发表于 2015-8-29 14:40
大神写的太高端了,看到之后嘴都合不起来......

我是小白,有几个地方不懂,大神别打我。

'窗体初始化事件(当加载窗体之后、显示窗体之前时)
Private Sub UserForm_Initialize()
    Dim str As String

    '允许TextBox1显示多行文本
    TextBox1.MultiLine = True

    '把每次的值,连接到字符串变量str里
    For i = 1 To 2
        '每次循环时,将A列的某行,和一个换行(是换行的意思),累计连接到str
        str = str & Sheets(2).Cells(i, 1) & vbCrLf
    Next i

    '将累计记录的字符串str,赋值给TextBox1
    TextBox1 = str
End Sub



还是用这个吧,容易懂些。
建议现在适合做些简单的、短小的窗体,收获开心和兴趣就好了。
等熟悉后,再增加其它需求。


Book1.zip

10.41 KB, 下载次数: 9

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
 楼主| 发表于 2015-8-29 13:55 | 显示全部楼层
版主大人终于回复我了,太开心了。 已经添加了附件,请查阅
回复

使用道具 举报

发表于 2015-8-29 14:08 | 显示全部楼层
Private Sub UserForm_Initialize()
    Me.TextBox1.MultiLine = True    '接受和显示多行文本。

    Dim arr, str$
    arr = Sheets(2).Range("a1").CurrentRegion
    arr = Application.Transpose(arr)
    str = VBA.Join(arr, vbCrLf)
    Me.TextBox1.Text = str
End Sub
Book2.rar (12.01 KB, 下载次数: 28)

点评

http://www.excelpx.com/thread-370843-2-1.html  发表于 2015-9-27 21:36
回复

使用道具 举报

 楼主| 发表于 2015-8-29 14:40 | 显示全部楼层
爱疯 发表于 2015-8-29 14:08
Private Sub UserForm_Initialize()
    Me.TextBox1.MultiLine = True    '接受和显示多行文本。

大神写的太高端了,看到之后嘴都合不起来......

我是小白,有几个地方不懂,大神别打我。

1.Initialize是什么时候意思?
2.Me.TextBox1.MultiLine = True 为什么加Me?
3.arr = Sheets(2).Range("a1").CurrentRegion
    arr = Application.Transpose(arr)
    str = VBA.Join(arr, vbCrLf)
我能理解最后textbox=str , 但之前的这些是什么意思?

{:081:}大神我会不会太菜了。大神教教我吧,我很好学的
回复

使用道具 举报

发表于 2015-8-29 17:51 | 显示全部楼层    本楼为最佳答案   
图气小P孩 发表于 2015-8-29 14:40
大神写的太高端了,看到之后嘴都合不起来......

我是小白,有几个地方不懂,大神别打我。

'窗体初始化事件(当加载窗体之后、显示窗体之前时)
Private Sub UserForm_Initialize()
    Dim str As String

    '允许TextBox1显示多行文本
    TextBox1.MultiLine = True

    '把每次的值,连接到字符串变量str里
    For i = 1 To 2
        '每次循环时,将A列的某行,和一个换行(是换行的意思),累计连接到str
        str = str & Sheets(2).Cells(i, 1) & vbCrLf
    Next i

    '将累计记录的字符串str,赋值给TextBox1
    TextBox1 = str
End Sub



还是用这个吧,容易懂些。
建议现在适合做些简单的、短小的窗体,收获开心和兴趣就好了。
等熟悉后,再增加其它需求。


回复

使用道具 举报

 楼主| 发表于 2015-8-29 19:09 | 显示全部楼层
爱疯 发表于 2015-8-29 17:51
'窗体初始化事件(当加载窗体之后、显示窗体之前时)
Private Sub UserForm_Initialize()
    Dim str  ...

  懂了,{:112:}你解释的好清楚啊,我这么笨也一下就明白了。
  
  嗯嗯,我也只能做些简单的,哈哈哈。最近工作上经常会用到,所以下班和休息的时候就抓紧学习一下,还好遇到版主大人,教了我很多{:2012:}谢谢
回复

使用道具 举报

 楼主| 发表于 2015-9-27 13:51 | 显示全部楼层
老大,求救求救
回复

使用道具 举报

 楼主| 发表于 2015-9-27 13:51 | 显示全部楼层
爱疯 发表于 2015-8-29 17:51
'窗体初始化事件(当加载窗体之后、显示窗体之前时)
Private Sub UserForm_Initialize()
    Dim str  ...

老大,求救求救
回复

使用道具 举报

发表于 2015-9-27 21:16 | 显示全部楼层
图气小P孩 发表于 2015-9-27 13:51
老大,求救求救

如果是新的问题,也像这帖,再发新帖求助(可能会更快得到解决)。

我有时不在。
回复

使用道具 举报

 楼主| 发表于 2015-9-30 23:49 | 显示全部楼层
爱疯 发表于 2015-9-27 21:16
如果是新的问题,也像这帖,再发新帖求助(可能会更快得到解决)。

我有时不在。

最近老是加班到10点后,都没机会上来。我之前发了一个贴,0回复,大神帮我看看
http://www.excelpx.com/thread-370851-1-3.html
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-19 23:07 , Processed in 0.379769 second(s), 15 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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