html5中文学习网

您的位置: 首页 > 网站及特效实例 > jquery特效 » 正文

浅谈Excel的VB编程_编程语言综合

[ ] 已经帮助:人解决问题

   Excel是一个优秀的电子表格软件,如果你编的程序需要以报表的形式显示最终结果,它会是个不错的选择。你可以通过VB控制Excel显示数据表格。如果你不愿意深入了解Excel这些琐碎的细节,也不是没有权宜之计:你可以打开Excel中的工具→宏→录制新宏,然后进行手工操作,结束后把所录的宏代码贴进你的VB程序就行。这样得到的程序一般都能正常运行,但其中的宏代码往往不够简洁,效率和可读性都不高。88LHTML5中文学习网 - HTML5先行者学习网

  ----Excel编程碰到的第一个问题是表头。有时表头的形式比较复杂,需要横向或纵向合并单元格。请放心,只要没有斜杠,Excel都能应付得了。88LHTML5中文学习网 - HTML5先行者学习网

  ----例如合并A2~A5这4个单元格,你录制的宏代码会是这样:88LHTML5中文学习网 - HTML5先行者学习网

  Range("A2:A5").Select88LHTML5中文学习网 - HTML5先行者学习网

  WithSelection88LHTML5中文学习网 - HTML5先行者学习网

  .HorizontalAlignment=xlCenter88LHTML5中文学习网 - HTML5先行者学习网

  .VerticalAlignment=xlBottom88LHTML5中文学习网 - HTML5先行者学习网

  .WrapText=False88LHTML5中文学习网 - HTML5先行者学习网

  .Orientation=088LHTML5中文学习网 - HTML5先行者学习网

  .AddIndent=False88LHTML5中文学习网 - HTML5先行者学习网

  .ShrinkToFit=False88LHTML5中文学习网 - HTML5先行者学习网

  .MergeCells=False88LHTML5中文学习网 - HTML5先行者学习网

  EndWith88LHTML5中文学习网 - HTML5先行者学习网

  Selection.Merge88LHTML5中文学习网 - HTML5先行者学习网

  ----而自己编程只要一句Range.(“A2:A5”).mergecells=True就可以解决问题。88LHTML5中文学习网 - HTML5先行者学习网

  ----表头形式定了,再就是表头的内容。如果单元格中的文本长度超过了列宽,往往只能显示部分内容,行尾那一格的内容则会“越境”进入右边那个空白单元格,很不美观。这个问题可以通过在程序中设置列宽加以解决。88LHTML5中文学习网 - HTML5先行者学习网

  ----Columns(14).columnwidth=12‘设置第14列列宽为12(缺省列宽为8.38)88LHTML5中文学习网 - HTML5先行者学习网

  ----如果你不愿意劳神去逐列估计实际所需的列宽,干脆来一行88LHTML5中文学习网 - HTML5先行者学习网

  ----Columns(“a:i”).autofit‘a到i列自动调整列宽88LHTML5中文学习网 - HTML5先行者学习网

  ----让Excel随机应变吧。88LHTML5中文学习网 - HTML5先行者学习网

  ----但也许你不喜欢这种方法,认为表头撑大了列宽,弄得浏览一张小表格还得向右滚动,太不方便了。要是能保持默认列宽,让文本自动换行就好了。没问题,Excel包你满意。88LHTML5中文学习网 - HTML5先行者学习网

  ----Rows(3).WrapText=True‘让第三行各单元格中的文本自动换行88LHTML5中文学习网 - HTML5先行者学习网

  ----不过你最好再加一句Rows(3).VerticalAlignment=xlTop让表头自动向上对齐,这样比较符合习惯。88LHTML5中文学习网 - HTML5先行者学习网

  ----你还可以给表头打上底色,让你的读者不至于看了打哈欠。88LHTML5中文学习网 - HTML5先行者学习网

  ----Rows(2).Interior.ColorIndex=5'设置第2行底色为蓝色88LHTML5中文学习网 - HTML5先行者学习网

  ----再给表格的标题上色,这样更醒目一点。88LHTML5中文学习网 - HTML5先行者学习网

  ----Rows(1).Font.ColorIndex=488LHTML5中文学习网 - HTML5先行者学习网

  ----表头完成后该填数据了,一个一个地填实在是太慢了,如果你的数据是存放在一个二维数组中,那问题就简单多了。88LHTML5中文学习网 - HTML5先行者学习网

  DimData(3,4)88LHTML5中文学习网 - HTML5先行者学习网

  …………‘数据处理88LHTML5中文学习网 - HTML5先行者学习网

  Range(“a2:d4”).Value=Data88LHTML5中文学习网 - HTML5先行者学习网

  ----这样可以一次填入一个表的所有数据,够快了吧!不过提醒一句,Range对象大小最好与数组匹配,小了无法显示所有数据,大了则会在空白单元格只填入“N/A”表示没有取得数据。88LHTML5中文学习网 - HTML5先行者学习网

  ----如果需要在结果中显示多个同样规格的数据表,想在Range对象中加入循环变量,这也好办。88LHTML5中文学习网 - HTML5先行者学习网

  Dimcell11,cell288LHTML5中文学习网 - HTML5先行者学习网

  DimData(3,4)88LHTML5中文学习网 - HTML5先行者学习网

  …………88LHTML5中文学习网 - HTML5先行者学习网

  ForI=1to4088LHTML5中文学习网 - HTML5先行者学习网

  …………‘数据处理88LHTML5中文学习网 - HTML5先行者学习网

  Setcell1=Worksheets("Sheet1").Cells(5*I-4,1)88LHTML5中文学习网 - HTML5先行者学习网

  Setcell2=Worksheets("Sheet1").Cells(5*I-2,4)88LHTML5中文学习网 - HTML5先行者学习网

  Worksheets("Sheet1").Range(cell1,cell2).value=Data88LHTML5中文学习网 - HTML5先行者学习网

  NextI88LHTML5中文学习网 - HTML5先行者学习网

  ----表格填完了,现在该打表格线了,以下几条语句可以满足你的要求:88LHTML5中文学习网 - HTML5先行者学习网

  WithWorksheets("Sheet1").Range(cell1,cell2).borders88LHTML5中文学习网 - HTML5先行者学习网

  .LineStyle=xlContinuous88LHTML5中文学习网 - HTML5先行者学习网

  .weight=xlThin88LHTML5中文学习网 - HTML5先行者学习网

  EndWith88LHTML5中文学习网 - HTML5先行者学习网

(责任编辑:)
推荐书籍
推荐资讯
关于HTML5先行者 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助