excel是
![](/icons/38226yi.gif)
个优秀
![](/icons/38226de.gif)
电子表格软件Software
![](/icons/38226dou.gif)
如果你编
![](/icons/38226de.gif)
![](/icons/38226chengxu.gif)
需要以报表
![](/icons/38226de.gif)
形式显示最终结果
![](/icons/38226dou.gif)
它会是个不错
![](/icons/38226de.gif)
选择
![](/icons/38226dou2.gif)
你可以通过vb控制excel显示数据表格
![](/icons/38226dou2.gif)
如果你不愿意深入了解excel这些琐碎
![](/icons/38226de.gif)
细节
![](/icons/38226dou.gif)
也不是没有权宜的计:你可以打开excel中
![](/icons/38226de.gif)
工具→宏→录制新宏
![](/icons/38226dou.gif)
然后进行手工操作
![](/icons/38226dou.gif)
结束后把所录
![](/icons/38226de.gif)
宏代码贴进你
![](/icons/38226de.gif)
vb
![](/icons/38226chengxu.gif)
就行
![](/icons/38226dou2.gif)
这样得到
![](/icons/38226de.gif)
![](/icons/38226chengxu.gif)
![](/icons/38226yi.gif)
般都能正常运行
![](/icons/38226dou.gif)
但其中
![](/icons/38226de.gif)
宏代码往往不够简洁
![](/icons/38226dou.gif)
效率和可读性都不高
![](/icons/38226dou2.gif)
---- excel编程碰到
![](/icons/38226de.gif)
第
![](/icons/38226yi.gif)
个问题是表头
![](/icons/38226dou2.gif)
有时表头
![](/icons/38226de.gif)
形式比较复杂
![](/icons/38226dou.gif)
需要横向或纵向合并单元格
![](/icons/38226dou2.gif)
请放心
![](/icons/38226dou.gif)
只要没有斜杠
![](/icons/38226dou.gif)
excel都能应付得了
![](/icons/38226dou2.gif)
---- 例如合并a2~a5这4个单元格
![](/icons/38226dou.gif)
你录制
![](/icons/38226de.gif)
宏代码会是这样: range(\"a2:a5\").select
with selection
.horizontalalignment = xlcenter
.verticalalignment = xlbottom
.wraptext = false
.orientation = 0
.addindent = false
.shrinktofit = false
.mergecells = false
end with
selection.merge
---- 而自己编程只要
![](/icons/38226yi.gif)
句 range.(“a2:a5”).mergecells=true 就可以解决问题
---- 表头形式定了
![](/icons/38226dou.gif)
再就是表头
![](/icons/38226de.gif)
内容
![](/icons/38226dou2.gif)
如果单元格中
![](/icons/38226de.gif)
文本长度超过了列宽
![](/icons/38226dou.gif)
往往只能显示部分内容
![](/icons/38226dou.gif)
行尾那
![](/icons/38226yi.gif)
格
![](/icons/38226de.gif)
内容则会“越境”进入右边那个空白单元格
![](/icons/38226dou.gif)
很不美观
![](/icons/38226dou2.gif)
这个问题可以通过在
![](/icons/38226chengxu.gif)
中设置列宽加以解决
![](/icons/38226dou2.gif)
---- columns(14).columnwidth=12 ‘设置第14列列宽为12(缺省列宽为8.38) ---- 如果你不愿意劳神去逐列估计实际所需
![](/icons/38226de.gif)
列宽
![](/icons/38226dou.gif)
干脆来
![](/icons/38226yi.gif)
行 ---- columns(“a:i”).autofit ‘a到i列自动调整列宽 ---- 让excel随机应变吧
![](/icons/38226dou2.gif)
---- 但也许你不喜欢这种思路方法
![](/icons/38226dou.gif)
认为表头撑大了列宽
![](/icons/38226dou.gif)
弄得浏览
![](/icons/38226yi.gif)
张小表格还得向右滚动
![](/icons/38226dou.gif)
太不方便了
![](/icons/38226dou2.gif)
要是能保持默认列宽
![](/icons/38226dou.gif)
让文本自动换行就好了
![](/icons/38226dou2.gif)
没问题
![](/icons/38226dou.gif)
excel包你满意
![](/icons/38226dou2.gif)
---- rows(3).wraptext=true ‘让第 3行各单元格中
![](/icons/38226de.gif)
文本自动换行 ---- 不过你最好再加
![](/icons/38226yi.gif)
句 rows(3) .verticalalignment = xltop 让表头自动向上对齐
![](/icons/38226dou.gif)
这样比较符合习惯
![](/icons/38226dou2.gif)
---- 你还可以给表头打上底色
![](/icons/38226dou.gif)
让你
![](/icons/38226de.gif)
读者不至于看了打哈欠
![](/icons/38226dou2.gif)
---- rows(2).
![](/icons/38226int.gif)
erior .colorindex = 5 \'设置第2行底色为蓝色 ---- 再给表格
![](/icons/38226de.gif)
标题上色
![](/icons/38226dou.gif)
这样更醒目
![](/icons/38226yi.gif)
点
![](/icons/38226dou2.gif)
---- rows(1).font.colorindex=4 ---- 表头完成后该填数据了
![](/icons/38226dou.gif)
![](/icons/38226yi.gif)
个
![](/icons/38226yi.gif)
个地填实在是太慢了
![](/icons/38226dou.gif)
如果你
![](/icons/38226de.gif)
数据是存放在
![](/icons/38226yi.gif)
个 2维
![](/icons/38226shuzu.gif)
中
![](/icons/38226dou.gif)
那问题就简单多了
![](/icons/38226dou2.gif)
dim data(3,4)
………… ‘数据处理
range(“a2:d4”).value=data
---- 这样可以
![](/icons/38226yi.gif)
次填入
![](/icons/38226yi.gif)
个表
![](/icons/38226de.gif)
所有数据
![](/icons/38226dou.gif)
够快了吧!不过提醒
![](/icons/38226yi.gif)
句
![](/icons/38226dou.gif)
range对象大小最好和
![](/icons/38226shuzu.gif)
匹配
![](/icons/38226dou.gif)
小了无法显示所有数据
![](/icons/38226dou.gif)
大了则会在空白单元格只填入“n/a”表示没有取得数据
---- 如果需要在结果中显示多个同样规格
![](/icons/38226de.gif)
数据表
![](/icons/38226dou.gif)
想在range对象中加入循环变量
![](/icons/38226dou.gif)
这也好办
![](/icons/38226dou2.gif)
dim cell11,cell2
dim data(3,4)
…………
for i =1 to 40
………… ‘数据处理
![](/icons/38226set.gif)
cell1=worksheets(\"sheet1\").cells(5*i-4,1)
![](/icons/38226set.gif)
cell2=worksheets(\"sheet1\").cells(5*i-2,4)
worksheets(\"sheet1\").range(cell1,cell2).value=data
next i
---- 表格填完了
![](/icons/38226dou.gif)
现在该打表格线了
![](/icons/38226dou.gif)
以下几条语句可以满足你
![](/icons/38226de.gif)
要求:
with worksheets(\"sheet1\").range(cell1,cell2).borders
.linestyle=xlcontinuous
.weight=xlthin
end with
---- 好了
![](/icons/38226dou.gif)
有关excel
![](/icons/38226de.gif)
vb编程今天就讲到这儿吧