|  Excel编程碰到的第一个问题是表头。有时表头的形式比较复杂,需要横向或纵向合并单元格。请放心,只要没有斜杠,Excel都能应付得了。 
 ---- 例如合并A2~A5这4个单元格,你录制的宏代码会是这样: 
 Range("A2:A5").Select
  With Selection
  .HorizontalAlignment = xlCenter
  .VerticalAlignment = xlBottom
  .WrapText = False
  .Orientation = 0
  .AddIndent = False
  .ShrinkToFit = False
  .MergeCells = False
  End With
  Selection.Merge ---- 而自己编程只要一句 Range.(“A2:A5”).mergecells=True 就可以解决问题。 
---- 表头形式定了,再就是表头的内容。如果单元格中的文本长度超过了列宽,往往只能显示部分内容,行尾那一格的内容则会“越境”进入右边那个空白单元格,很不美观。这个问题可以通过在程序中设置列宽加以解决。 
 ---- Columns(14).columnwidth=12 ‘设置第14列列宽为12(缺省列宽为8.38) 
 ---- 如果你不愿意劳神去逐列估计实际所需的列宽,干脆来一行 
 ---- Columns(“a:i”).autofit ‘a到i列自动调整列宽 
 ---- 让Excel随机应变吧。 
 ---- 但也许你不喜欢这种方法,认为表头撑大了列宽,弄得浏览一张小表格还得向右滚动,太不方便了。要是能保持默认列宽,让文本自动换行就好了。没问题,Excel包你满意。 
 ---- Rows(3).WrapText=True ‘让第三行各单元格中的文本自动换行 
 ---- 不过你最好再加一句 Rows(3) .VerticalAlignment = xlTop 让表头自动向上对齐,这样比较符合习惯。 
 ---- 你还可以给表头打上底色,让你的读者不至于看了打哈欠。 
 ---- Rows(2). Interior .ColorIndex = 5 '设置第2行底色为蓝色 
 ---- 再给表格的标题上色,这样更醒目一点。 
 ---- Rows(1).Font.ColorIndex=4 
 ---- 表头完成后该填数据了,一个一个地填实在是太慢了,如果你的数据是存放在一个二维数组中,那问题就简单多了。 
 Dim Data(3,4)
  ………… ‘数据处理
  Range(“a2:d4”).Value=Data 
---- 这样可以一次填入一个表的所有数据,够快了吧!不过提醒一句,Range对象大小最好与数组匹配,小了无法显示所有数据,大了则会在空白单元格只填入“N/A”表示没有取得数据。 
---- 如果需要在结果中显示多个同样规格的数据表,想在Range对象中加入循环变量,这也好办。 
 Dim cell11,cell2
  Dim Data(3,4)
  …………
  For I =1 to 40
  ………… ‘数据处理
  Set cell1=Worksheets("Sheet1").Cells(5*I-4,1)
  Set cell2=Worksheets("Sheet1").Cells(5*I-2,4)
  Worksheets("Sheet1").Range(cell1,cell2).value=Data 
Next I 
---- 表格填完了,现在该打表格线了,以下几条语句可以满足你的要求: 
With Worksheets("Sheet1").Range(cell1,cell2).borders
  .LineStyle=xlContinuous
  .weight=xlThin
  End With  |