ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: yuanzhuping

VBA常用技巧代码解析

    [复制链接]

TA的精华主题

TA的得分主题

发表于 2009-4-27 16:20 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖已被收录到知识树中,索引项:开发帮助和教程
好强大
作个记号,再慢慢学习

TA的精华主题

TA的得分主题

发表于 2009-4-27 19:00 | 显示全部楼层
真的好的东东,非常感谢!

TA的精华主题

TA的得分主题

发表于 2009-4-27 21:03 | 显示全部楼层
就等着你出文档类来下载了,因为我不能常常上网

TA的精华主题

TA的得分主题

发表于 2009-4-27 23:30 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-4-28 10:16 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

第8部分 控件与用户窗体

技巧130         使用spreadsheet控件
       如果希望在窗体中显示类似工作表的表格,并且可以像工作表一样进行操作,那么可以在窗体中使用表格控件(Spreadsheet控件)。
       步骤1,在VBE窗口中单击菜单“插入”→“用户窗体”,在窗体上添加一个Spreadsheet控件,双击窗体,在其代码窗口中输入下面的代码:
  1. #001  Private Sub UserForm_Initialize()
  2. #002      Dim iRow As Integer
  3. #003      Dim arr As Variant
  4. #004      With Me.Spreadsheet1
  5. #005          .DisplayToolbar = False
  6. #006          .DisplayHorizontalScrollBar = False
  7. #007          .DisplayVerticalScrollBar = False
  8. #008          .DisplayWorkbookTabs = False
  9. #009          iRow = Sheet1.Range("B65536").End(xlUp).Row
  10. #010          arr = Sheet1.Range("B2:H" & iRow)
  11. #011          With .Range("B2:H" & iRow)
  12. #012              .Value = arr
  13. #013              .Borders.LineStyle = xlContinuous
  14. #014              .Borders.Weight = xlMedium
  15. #015              .Borders.ColorIndex = 10
  16. #016          End With
  17. #017          With .Range("B2:H2")
  18. #018              .HorizontalAlignment = -4108
  19. #019              .VerticalAlignment = -4108
  20. #020              .Interior.ColorIndex = 44
  21. #021          End With
  22. #022          .Range("B3:B" & iRow).HorizontalAlignment = -4108
  23. #023          .Range("C3:H" & iRow).NumberFormat = "0.00"
  24. #024          .Rows(2).RowHeight = 23.25
  25. #025          .Columns("A").ColumnWidth = 2.75
  26. #026          .Columns("B:H").ColumnWidth = 8
  27. #027      End With
  28. #028  End Sub
复制代码
代码解析:
       用户窗体的初始化事件过程,使用窗体显示工作表中的表格。
       第5行代码,设置Spreadsheet控件不显示工具栏。
       DisplayToolbar 属性设置工具栏是否隐藏,语法如下:
expression.DisplayToolbar
       参数expression是必需的,一个有效的对象。
      如果指定电子表格、图表区或“数据透视表”列表显示了工具栏,则返回True。
       第6、7行代码,设置Spreadsheet控件不显示水平和垂直滚动条。
       第8行代码,设置Spreadsheet控件不显示工作表标签。
       第9行代码,取得工作表B列有数据的最后一行的行号。
       第10行代码,把工作表数据赋值给数组。
       第11行到16行代码,把数组赋给Spreadsheet控件的单元格,使Spreadsheet控件显示工作表内容,并且添加加框线。
       第17行到第21行代码,设置Spreadsheet控件中表格第一行的字体对齐方式为居中并添加单元格的底纹颜色。
       第22行代码,设置Spreadsheet控件中表格第一列的字体对齐方式为居中。
       第23行代码,设置Spreadsheet控件中表格数据的格式。
       第24行到26行代码,设置Spreadsheet控件的行高与列宽。
       步骤2,在窗体上添加一个按钮控件,将其Caption属性设置为“保存”,双击按钮控件,在其代码窗口中输入下面的代码:
  1. #001  Private Sub CommandButton1_Click()
  2. #002      Dim iRow As Integer
  3. #003      Dim arr As Variant
  4. #004      If MsgBox("是否保存对表格所作的修改?", 4 + 32) = 6 Then
  5. #005          With Me.Spreadsheet1
  6. #006              iRow = .Range("B65536").End(xlUp).Row
  7. #007              arr = .Range("B2:H" & iRow).Value
  8. #008              Sheet1.Range("B2:H" & iRow).Value = arr
  9. #009          End With
  10. #010      End If
  11. #011      Unload Me
  12. #012  End Sub
复制代码
代码解析:
       用户窗体中“保存”按钮的单击过程,把在窗体中对数据的修改重新保存到工作表。
       第4行代码,询问用户是否保存修改。
       第5行到第10行代码,如果用户选择保存,把Spreadsheet控件中的数据保存到工作表。
       运行窗体,显示效果如图所示。
Snap1.jpg

技巧130 使用spreadsheet控件.rar

14.37 KB, 下载次数: 1274

TA的精华主题

TA的得分主题

发表于 2009-4-28 13:21 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2009-4-28 14:46 | 显示全部楼层

询问

版主:你好!
   你太辛苦了!请问:我在EXCEL工作表制作了GIF动画图片,保存后重新打开时,滚动的图片却不见了。这是怎么回事呀?请袁版主帮忙解决,非常感谢!

TA的精华主题

TA的得分主题

发表于 2009-4-28 15:24 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2009-4-28 17:58 | 显示全部楼层
今天刚看到,有这么好的教材
能不能将这些好教材制作成一本书,一起下载

TA的精华主题

TA的得分主题

发表于 2009-4-28 20:35 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-25 03:37 , Processed in 0.050602 second(s), 6 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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