实用的EXCELVBA编程大全总结
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实用的EXCEL VBA编程小结:
最近单位内部的项目里要用到些报表EXCEL的生成,虽说JAVA 的POI可以有这能力,但觉得还是可能比较麻烦,因此还是转用来搞,用Visual Studio2003配合office 2003,用到了一些VBA,因此小结并归纳之,选了些资料归纳在这里,以备今后查考
首先创建 Excel 对象,使用ComObj:
Dim ExcelID as
Set ExcelID as new
1) 显示当前窗口:
:= True;
2) 更改 Excel 标题栏:
:= '应用程序调用 Microsoft Excel';
3) 添加新工作簿:
4) 打开已存在的工作簿:
'C:\Excel\' );
5) 设置第2个工作表为活动工作表:
[2].Activate;
或 [ 'Sheet2' ].Activate;
6) 给单元格赋值:
[1,4].Value := '第一行第四列';
7) 设置指定列的宽度(单位:字符个数),以第一列为例:
:= 5;
8) 设置指定行的高度(单位:磅)(1磅=厘米),以第二行为例: := 1/; ows[8].PageBreak := 1;
10) 在第8列之前删除分页符:
:= 0;
11) 指定边框线宽度:
'B3:D4' ].Borders[2].Weight := 3;
1-左 2-右 3-顶 4-底 5-斜( \ ) 6-斜( / )
12) 清除第一行第四列单元格公式:
13) 设置第一行字体属性:
:= '隶书';
:= clBlue;
:= True;
:= True;
14) 进行页面设置:
a.页眉:
:= '报表演示';
b.页脚:
:= '第&P页';
c.页眉到顶端边距2cm: := 2/;
d.页脚到底端边距3cm: := 3/;
e.顶边距2cm:
:= 2/;
f.底边距2cm:
:= 2/;
g.左边距2cm:
:= 2/;
h.右边距2cm:
:= 2/;
i.页面水平居中:
:= 2/;
j.页面垂直居中:
:= 2/;
k.打印单元格网线: := True;
15) 拷贝操作:
a.拷贝整个工作表:
b.拷贝指定区域:
'A1:E2' ].Copy;
c.从A1位置开始粘贴: 'A1' ].PasteSpecial;
d.从文件尾部开始粘贴:
16) 插入一行或一列:
a.
b.
17) 删除一行或一列:
a.
b.
18) 打印预览工作表:
19) 打印输出工作表:
20) 工作表保存:
If not then
End if
21) 工作表另存为:
( 'C:\Excel\' );
22) 放弃存盘:
:= True;
23) 关闭工作簿:
24) 退出 Excel:
;
25) 设置工作表密码:
"123", DrawingObjects:=True, Contents:=True, Scenarios:=True
26) EXCEL的显示方式为最大化
= xlMaximized
27) 工作薄显示方式为最大化
= xlMaximized
28) 设置打开默认工作薄数量
= 3
29) '关闭时是否提示保存(true 保存;false 不保存) = False
30) 设置拆分窗口,及固定行位置
= 1
= True
31) 设置打印时固定打印内容
= "$1:$1"
32) 设置打印标题
= ""
33) 设置显示方式(分页方式显示)
= xlPageBreakPreview
34) 设置显示比例
= 100
35) 让Excel 响应 DDE 请求
= False
用VB操作EXCEL
Private Sub Command3_Click()
On Error GoTo err1
Dim i As Long
Dim j As Long
Dim objExl As '声明对象变量
= 11 '改变鼠标样式
Set objExl = New '初始化对象变量
= 1 '将新建的工作薄数量设为1
'增加一个工作薄
= "book1" '修改工作薄名称
, ("book1") ‘增加第二个工作薄在第一个之后 = "book2"
, ("book2") ‘增加第三个工作薄在第二个之后 = "book3"
("book1").Select '选中工作薄For i = 1 To 50 '循环写入数据For j = 1 To 5
If i = 1 Then
= "@" '设置格式为文本
(i, j) = " E " & i & j
Else
(i, j) = i & j
End If
Next
Next
("1:1").Select '选中第一行
= True '设为粗体
= 24 '设置字体大小
'自动调整列宽
= 1 '拆分第一行
. SplitColumn = 0 '拆分列