EXCEL VBA工作表操作全能方法小结

时间:2019-05-12 13:13:51下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《EXCEL VBA工作表操作全能方法小结》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《EXCEL VBA工作表操作全能方法小结》。

第一篇:EXCEL VBA工作表操作全能方法小结

EXCEL VBA工作表操作全能方法小结

[示例04-01]增加工作表(Add方法)Sub AddWorksheet()MsgBox “在当前工作簿中添加一个工作表” Worksheets.Add MsgBox “在当前工作簿中的工作表sheet2之前添加一个工作表” Worksheets.Add before:=Worksheets(“sheet2”)MsgBox “在当前工作簿中的工作表sheet2之后添加一个工作表” Worksheets.Add after:=Worksheets(“sheet2”)MsgBox “在当前工作簿中添加3个工作表” Worksheets.Add Count:=3 End Sub 示例说明:Add方法带有4个可选的参数,其中参数Before和参数After指定所增加的工作表的位置,但两个参数只能选一;参数Count用来指定增加的工作表数目。

------------------[示例04-02]复制工作表(Copy方法)Sub CopyWorksheet()MsgBox “在当前工作簿中复制工作表sheet1并将所复制的工作表放在工作表sheet2之前” Worksheets(“sheet1”).Copy Before:=Worksheets(“sheet2”)MsgBox “在当前工作簿中复制工作表sheet2并将所复制的工作表放在工作表sheet3之后” Worksheets(“sheet2”).Copy After:=Worksheets(“sheet3”)End Sub 示例说明:Copy方法带有2个可选的参数,即参数Before和参数After,在使用时两个参数只参选一。

------------------[示例04-03]移动工作表(Move方法)Sub MoveWorksheet()MsgBox “在当前工作簿中将工作表sheet3移至工作表sheet2之前” Worksheets(“sheet3”).Move Before:=Worksheets(“sheet2”)MsgBox “在当前工作簿中将工作表sheet1移至最后” Worksheets(“sheet1”).Move After:=Worksheets(Worksheets.Count)End Sub 示例说明:Move方法与Copy方法的参数相同,作用也一样。

------------------[示例04-04]隐藏和显示工作表(Visible属性)[示例04-04-01] Sub testHide()MsgBox “第一次隐藏工作表sheet1” Worksheets(“sheet1”).Visible = False MsgBox “显示工作表sheet1” Worksheets(“sheet1”).Visible = True MsgBox “第二次隐藏工作表sheet1” Worksheets(“sheet1”).Visible = xlSheetHidden MsgBox “显示工作表sheet1” Worksheets(“sheet1”).Visible = True MsgBox “第三次隐藏工作表sheet1” Worksheets(“sheet1”).Visible = xlSheetHidden MsgBox “显示工作表sheet1” Worksheets(“sheet1”).Visible = xlSheetVisible MsgBox “第四隐藏工作表sheet1” Worksheets(“sheet1”).Visible = xlSheetVeryHidden MsgBox “显示工作表sheet1” Worksheets(“sheet1”).Visible = True MsgBox “第五隐藏工作表sheet1” Worksheets(“sheet1”).Visible = xlSheetVeryHidden MsgBox “显示工作表sheet1” Worksheets(“sheet1”).Visible = xlSheetVisible End Sub 示例说明:本示例演示了隐藏和显示工作表的各种情形。其中,使用xlSheetVeryHidden常量来隐藏工作表,将不能通过选择工作表菜单栏中的“格式”——“工作表”——“取消隐藏”命令来取消隐藏。

------------------[示例04-04-02] Sub ShowAllSheets()MsgBox “使当前工作簿中的所有工作表都显示(即将隐藏的工作表也显示)” Dim ws As Worksheet For Each ws In Sheets ws.Visible = True Next ws End Sub

------------------[示例04-05]获取工作表数(Count属性)[示例04-05-01] Sub WorksheetNum()Dim i As Long i = Worksheets.Count MsgBox “当前工作簿的工作表数为:” & Chr(10)& i End Sub

------------------[示例04-05-02] Sub WorksheetNum()Dim i As Long i = Sheets.Count MsgBox “当前工作簿的工作表数为:” & Chr(10)& i End Sub 示例说明:在一个包含图表工作表的工作簿中运行上述两段代码,将会得出不同的结果,原因是对于Sheets集合来讲,工作表包含图表工作表。应注意Worksheets集合与Sheets集合的区别,下同。

------------------[示例04-06]获取或设置工作表名称(Name属性)[示例04-06-01] Sub NameWorksheet()Dim sName As String, sChangeName As String sName = Worksheets(2).Name MsgBox “当前工作簿中第2个工作表的名字为:” & sName sChangeName = “我的工作表” MsgBox “将当前工作簿中的第3个工作表名改为:” & sChangeName Worksheets(3).Name = sChangeName End Sub 示例说明:使用Name属性可以获取指定工作表的名称,也可以设置工作表的名称。

------------------[示例04-06-02]重命名工作表 Sub ReNameSheet()Dim xStr As String Retry: Err.Clear xStr = InputBox(“请输入工作表的新名称:” _ , “重命名工作表”, ActiveSheet.Name)If xStr = “" Then Exit Sub On Error Resume Next ActiveSheet.Name = xStr If Err.Number <> 0 Then MsgBox Err.Number & ” “ & Err.Description Err.Clear GoTo Retry End If On Error GoTo 0 '.........End Sub

------------------[NextPage][示例04-07]激活/选择工作表(Activate方法和Select方法)[示例04-07-01] Sub SelectWorksheet()MsgBox ”激活当前工作簿中的工作表sheet2“ Worksheets(”sheet2“).Activate MsgBox ”激活当前工作簿中的工作表sheet3“ Worksheets(”sheet3“).Select MsgBox ”同时选择工作簿中的工作表sheet2和sheet3“ Worksheets(Array(”sheet2“, ”sheet3“)).Select End Sub 示例说明:Activate方法只能激活一个工作表,而Select方法可以同时选择多个工作表。

------------------[示例04-07-02] Sub SelectManySheet()MsgBox ”选取第一个和第三个工作表.“ Worksheets(1).Select Worksheets(3).Select False End Sub

------------------[示例04-08]获取当前工作表的索引号(Index属性)Sub GetSheetIndex()Dim i As Long i = ActiveSheet.Index MsgBox ”您正使用的工作表索引号为“ & i End Sub

------------------[示例04-09]选取前一个工作表(Previous属性)Sub PreviousSheet()If ActiveSheet.Index <> 1 Then MsgBox ”选取当前工作簿中当前工作表的前一个工作表“ ActiveSheet.Previous.Activate Else MsgBox ”已到第一个工作表“ End If End Sub 示例说明:如果当前工作表是第一个工作表,则使用Previous属性会出错。

------------------[示例04-10]选取下一个工作表(Next属性)Sub NextSheet()If ActiveSheet.Index <> Worksheets.Count Then MsgBox ”选取当前工作簿中当前工作表的下一个工作表“ ActiveSheet.Next.Activate Else MsgBox “已到最后一个工作表” End If End Sub 示例说明:如果当前工作表是最后一个工作表,则使用Next属性会出错。

------------------[示例04-11]工作表行和列的操作 [示例04-11-01]隐藏行 Sub HideRow()Dim iRow As Long MsgBox ”隐藏当前单元格所在的行“ iRow = ActiveCell.Row ActiveSheet.Rows(iRow).Hidden = True MsgBox ”取消隐藏“ ActiveSheet.Rows(iRow).Hidden = False End Sub

------------------[示例04-11-02]隐藏列 Sub HideColumn()Dim iColumn As Long MsgBox ”隐藏当前单元格所在列“ iColumn = ActiveCell.Column ActiveSheet.Columns(iColumn).Hidden = True MsgBox ”取消隐藏“ ActiveSheet.Columns(iColumn).Hidden = False End Sub

------------------[示例04-11-03]插入行 Sub InsertRow()Dim rRow As Long MsgBox ”在当前单元格上方插入一行“ rRow = Selection.Row ActiveSheet.Rows(rRow).Insert End Sub

------------------[示例04-11-04]插入列 Sub InsertColumn()Dim cColumn As Long MsgBox ”在当前单元格所在行的左边插入一行“ cColumn = Selection.Column ActiveSheet.Columns(cColumn).Insert End Sub

------------------[示例04-11-05]插入多行 Sub InsertManyRow()MsgBox ”在当前单元格所在行上方插入三行“ Dim rRow As Long, i As Long For i = 1 To 3 rRow = Selection.Row ActiveSheet.Rows(rRow).Insert Next i End Sub

------------------[示例04-11-06]设置行高 Sub SetRowHeight()MsgBox ”将当前单元格所在的行高设置为25“ Dim rRow As Long, iRow As Long rRow = ActiveCell.Row iRow = ActiveSheet.Rows(rRow).RowHeight ActiveSheet.Rows(rRow).RowHeight = 25 MsgBox ”恢复到原来的行高“ ActiveSheet.Rows(rRow).RowHeight = iRow End Sub

------------------[示例04-11-07]设置列宽 Sub SetColumnWidth()MsgBox ”将当前单元格所在列的列宽设置为20“ Dim cColumn As Long, iColumn As Long cColumn = ActiveCell.Column iColumn = ActiveSheet.Columns(cColumn).ColumnWidth ActiveSheet.Columns(cColumn).ColumnWidth = 20 MsgBox ”恢复至原来的列宽“ ActiveSheet.Columns(cColumn).ColumnWidth = iColumn End Sub

------------------[示例04-11-08]恢复行高列宽至标准值 Sub ReSetRowHeightAndColumnWidth()MsgBox ”将当前单元格所在的行高和列宽恢复为标准值“ Selection.UseStandardHeight = True Selection.UseStandardWidth = True End Sub

------------------[示例04-12]工作表标签

[示例04-12-01] 设置工作表标签的颜色 Sub SetSheetTabColor()MsgBox ”设置当前工作表标签的颜色“ ActiveSheet.Tab.ColorIndex = 7 End Sub

------------------[示例04-12-01]恢复工作表标签颜色 Sub SetSheetTabColorDefault()MsgBox ”将当前工作表标签颜色设置为默认值“ ActiveSheet.Tab.ColorIndex =-4142 End Sub

------------------[示例04-12-03]交替隐藏或显示工作表标签 Sub HideOrShowSheetTab()MsgBox ”隐藏/显示工作表标签“ ActiveWindow.DisplayWorkbookTabs = Not ActiveWindow.DisplayWorkbookTabs End Sub------------------[NextPage][示例04-13]确定打印的页数(HPageBreaks属性与VPageBreaks属性)Sub PageCount()Dim i As Long i =(ActiveSheet.HPageBreaks.Count + 1)*(ActiveSheet.VPageBreaks.Count + 1)MsgBox ”当前工作表共“ & i & ”页.“ End Sub

------------------[示例04-14]保护/撤销保护工作表 [示例04-14-01] Sub ProtectSheet()MsgBox ”保护当前工作表并设定密码“ ActiveSheet.Protect Password:=”fanjy“ End Sub 示例说明:运行代码后,当前工作表中将不允许编辑,除非撤销工作表保护。

------------------[示例04-14-02] Sub UnprotectSheet()MsgBox ”撤销当前工作表保护“ ActiveSheet.Unprotect End Sub 示例说明:运行代码后,如果原保护的工作表设置有密码,则要求输入密码。

------------------[示例04-14-03]保护当前工作簿中的所有工作表 Sub ProtectAllWorkSheets()On Error Resume Next Dim ws As Worksheet Dim myPassword As String myPassword = InputBox(”请输入您的密码“ & vbCrLf & _ ”(不输入表明无密码)“ & vbCrLf & vbCrLf & _ ”确保您没有忘记密码!“, ”输入密码“)For Each ws In ThisWorkbook.Worksheets ws.Protect(myPassword)Next ws End Sub

------------------[示例04-14-04]撤销对当前工作簿中所有工作表的保护 Sub UnprotectAllWorkSheets()On Error Resume Next Dim ws As Worksheet Dim myPassword As String myPassword = InputBox(”请输入您的密码“ & vbCrLf & _ ”(不输入表示无密码)“, ”输入密码“)For Each ws In ThisWorkbook.Worksheets ws.Unprotect(myPassword)Next ws End Sub

------------------[示例04-14-05]仅能编辑未锁定的单元格 Sub OnlyEditUnlockedCells()Sheets(”Sheet1“).EnableSelection = xlUnlockedCells ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True End Sub 示例说明:运行本代码后,在当前工作表中将只能对未锁定的单元格进行编辑,而其它单元格将不能编辑。未锁定的单元格是指在选择菜单“格式——单元格”命令后所弹出的对话框中的“保护”选项卡中,未选中“锁定”复选框的单元格或单元格区域。

------------------[示例04-15]删除工作表(Delete方法)Sub DeleteWorksheet()MsgBox ”删除当前工作簿中的工作表sheet2“ Application.DisplayAlerts = False Worksheets(”sheet2").Delete Application.DisplayAlerts = True End Sub

第二篇:EXCEL VBA工作表操作全能方法小结

EXCELVBA工作表操作全能方法小结

[示例04-01]增加工作表(Add方法)SubAddWorksheet()MsgBox“在当前工作簿中添加一个工作表” Worksheets.Add MsgBox“在当前工作簿中的工作表sheet2之前添加一个工作表” Worksheets.Addbefore:=Worksheets(“sheet2”)MsgBox“在当前工作簿中的工作表sheet2之后添加一个工作表” Worksheets.Addafter:=Worksheets(“sheet2”)MsgBox“在当前工作簿中添加3个工作表” Worksheets.AddCount:=3 EndSub

示例说明:Add方法带有4个可选的参数,其中参数Before和参数After 指定所增加的工作表的位置,但两个参数只能选一;参数Count用来指定增加的工作表数目。

[示例04-02]复制工作表(Copy方法)SubCopyWorksheet()MsgBox“在当前工作簿中复制工作表sheet1并将所复制的工作表放在工作表sheet2之前” Worksheets(“sheet1”).CopyBefore:=Worksheets(“sheet2”)MsgBox“在当前工作簿中复制工作表sheet2并将所复制的工作表放在工作表sheet3之后” Worksheets(“sheet2”).CopyAfter:=Worksheets(“sheet3”)EndSub

示例说明:

Copy方法带有2个可选的参数,即参数Before和参数After,在使用时两个参数只参选一。

[示例04-03]移动工作表(Move方法)SubMoveWorksheet()MsgBox“在当前工作簿中将工作表sheet3移至工作表sheet2之前” Worksheets(“sheet3”).MoveBefore:=Worksheets(“sheet2”)MsgBox“在当前工作簿中将工作表sheet1移至最后” Worksheets(“sheet1”).MoveAfter:=Worksheets(Worksheets.Count)End Sub

示例说明:

Move方法与Copy方法的参数相同,作用也一样。

示例【04-04】隐藏和显示工作表(Visible属性)[示例04-04-01] SubtestHide()MsgBox“第一次隐藏工作表sheet1” Worksheets(“sheet1”).Visible=False MsgBox“显示工作表sheet1” Worksheets(“sheet1”).Visible=True MsgBox“第二次隐藏工作表sheet1” Worksheets(“sheet1”).Visible=xlSheetHidden MsgBox“显示工作表sheet1” Worksheets(“sheet1”).Visible=True MsgBox“第三次隐藏工作表sheet1” Worksheets(“sheet1”).Visible=xlSheetHidden MsgBox“显示工作表sheet1” Worksheets(“sheet1”).Visible=xlSheetVisible MsgBox“第四隐藏工作表sheet1” Worksheets(“sheet1”).Visible=xlSheetVeryHidden MsgBox“显示工作表sheet1” Worksheets(“sheet1”).Visible=True MsgBox“第五隐藏工作表sheet1” Worksheets(“sheet1”).Visible=xlSheetVeryHidden MsgBox“显示工作表sheet1” Worksheets(“sheet1”).Visible=xlSheetVisible EndSub 示例说明:本示例演示了隐藏和显示工作表的各种情形。其中,使用

xlSheetVeryHidden常量来隐藏工作表,将不能通过选择工作表菜单栏中的“格式”——“工作表”——“取消隐藏”命令来取消隐藏。[示例04-04-02] SubShowAllSheets()MsgBox“使当前工作簿中的所有工作表都显示(即将隐藏的工作表也显示)” DimwsAsWorksheet For Each wsIn Sheets ws.Visible=True Next ws End Sub

[示例04-05] 获取工作表数(Count属性)[示例04-05-01] SubWorksheetNum()Dim IAs Long i=Worksheets.Count MsgBox“当前工作簿的工作表数为:”&Chr(10)&i EndSub

[示例04-05-02] Sub WorksheetNum()Dim IAs Long i=Sheets.Count MsgBox“当前工作簿的工作表数为:”&Chr(10)&i End Sub

示例说明:在一个包含图表工作表的工作簿中运行上述两段代码,将会得出不同的结果,原因是对于Sheets集合来讲,工作表包含图表工作表。应注意Worksheets集合与Sheets集合的区别,下同。

示例04-06]获取或设置工作表名称(Name属性)[示例04-06-01] SubNameWorksheet()DimsNameAsString,sChangeNameAsString sName=Worksheets(2).Name MsgBox“ 当前工作簿中第

2个工作表的名字为:”&sNamesChangeName=“我的工作表 ”MsgBox“将当前工作簿中的第3个工作表名改为:”&sChangeName Worksheets(3).Name=sChangeName EndSub 示例说明:使用Name属性可以获取指定工作表的名称,也可以设置工作表的名称。

第三篇:EXCEL操作_add工作表

方法:LPDISPATCH Add(VARIANT& Before, VARIANT& After, VARIANT& Count, VARIANT& Type);

Before Variant 类型,可选。指定工作表对象,新建的工作表将置于此工作表之前。

AfterVariant 类型,可选。指定工作表对象,新建的工作表将置于此工作表之后。

Count Variant 类型,可选。要新建的工作表的数目。默认值为 1。

Type Variant 类型,可选。指定工作表类型。可为以下 XlSheetType 常量之一:xlWorksheet、xlChart、xlExcel4MacroSheet 或 xlExcel4IntlMacroSheet。默认值为 xlWorksheet。

说明 如果 Before 和 After 两者均省略,则新建的工作表将插入到活动工作表之前。

1、未指定参数1、2

CWorksheets ExcelSheets;

ExcelSheet.Add(vtMissing,vtMissing,_variant_t((long)1),vtMissing);//添加新的工作表

//Before 和 After 两者均省略,则新建的工作表将插入到活动工作表之前。

2、指定参数2

CWorksheet Worksheet;

Worksheet=ExcelSheet.get_Item(COleVariant((long)1));

ExcelSheet.Add(vtMissing, _variant_t(Worksheet),_variant_t((long)1),vtMissing);

//添加新的工作表:位置在Worksheet即(Sheet1)后面

第四篇:11年最新操作表

二0一一县(区)综治暨平安建设检查考核操作表

(一)县区: 检查考核时间:2011年12月 日

单位 项目 检查内容、方法

1、综治和平安建设在党政综合考核总分不低于10%(查县区委正式文件,带回复印件)、两次以上专题研究综治和平安建设工作的常委会会议纪要(研究推动解决哪些问题,带回复印件),与乡镇(街道)、综治单位签综治责任书(必须为县区委书记与所有乡街和综治单位签订,看是否与所有乡镇签订),3分,有一项不合格的扣1分; 2、2011党政主要领导、分管领导以及综治成员单位分管领导抓综治和平安建设实绩档案(查建多少份档案,并带回县区主要领导、分管领导的实绩档案复印件)、组织部门在提拔任用干部书面征求综治部门意见(将所有书面征求意见的复印件带回)、党政领导干部表彰奖励征求综治部门意见(将所有征求意见复印件带回),3分;不合格的有一项扣1分;

3、综治办人员达3人、与创建办人员合计达6人(查办公桌、会议记录、工作记录,并将人员调整文件带回),1分。

1、创新社会管理做好群众工作的意见(查党委、政府正式文件)、社会管理工作方案(查综治委正式文件),将社会管理纳入十二五规划(将政府发文复印件带回),2分;

2、社会管理创新综合试点的意见、选取综合试点的单位、乡镇(街道)工作方案及工作成效(将试点文件带回),2分;

3、流动人口服务管理、预防青少年违法犯罪、校园周边治安综合治理、社区矫正、刑释解教等工作意见、总结,2分.检查结果(得分)组织领导(7分)综 社会管理 治 办(6分)责任落实

1、开展两次以上平安建设督查(查通知、实地检查记录、通报,将两次检查通报、警示、一票否决的文件带回),1分;,1分。(2分)

2、综治五部门联席会议、综治成员单位开展述职工作情况(查联席会会议记录和述职会议的通知、报告)

1、社会稳定风险评估工作(查推进风险评估的意见部署、具体评估的记录),1分;,1分; 维护稳定

2、加强国家安全防线工作、重大社情掌控平台试点工作(查意见方案,工作部署)

3、大调解工作(查司法部门牵头人民调解、法制部门牵头行政调解、人民法院牵头诉讼调解以及大调解对接机制的文件(5分)以及县区调处中心的组织机构和专门调处小组的文件),1分;

4、矛盾纠纷大排查(查排查文件、每月排查调处报表、每月社会稳定和社会治安分析情况报告),2分。30分 治安防控

1、防控体系建设(查计划、技防建设计划,将老小区和城中村防范设施改造列入政府规划的文件复印带回),2分;

2、社会治安重点地区排查整治工作(查工作方案、排查出的突出问题、采取挂牌整治等举措和情况总结),1分;(5分)

3、巡防工作(查专职巡防大队人员花名册和工资发放表;群防群治红袖标工程建设意见、季度督查情况),2分。

1、等级化创建(查安全乡镇(街道)、村(社区)等级化创建活动的计划、安排以及等级评定和排名情况),2分;

2、系列平安创建(查意见方案及及平安校园、平安医院、平安电力、平安金融、平安畅通县区、平安文化娱乐场所、平基层基础 安企业、平安宗教场所、平安工地、平安市场或商场、平安机关、平安村(社区)、平安家庭创建意见方案、开展1,2分;(5分)次以上活动记录,上述活动缺一项扣0.5分)

3、综治组织(查政法综治中心实体化运作、乡村两级综治办规范化建设的意见,乡镇综治办专职副主任、综治专干化名册,看是否达到省定标准),1分。

二0一一县区综治暨平安建设检查考核操作表

(二)县区: 检查考核时间:2011年12月 日

单位 检查项目 检查内容、方法 检查结果(得分)

1、组织机构(查成立综治和平安建设领导领导小组和办公室的文件、有无专人负责综治和平安建设工作),1分;

2、阵地建设(查成立创建办的文件、创建办有无办公场所、是否挂牌),1分; 组织领导

3、专题研究综治和平安建设工作的党委会议记录(查会议次数、研究解决哪些(4分)实际问题),1分;

4、工作部署(查综治和平安建设工作意见、工作部署、工作总结),1分。城 管 局 15分 矛盾化解(5分)

1、门卫安全值守(查有几个门卫值守、门卫的年龄、看是否对进出人员进行询问登记),1分; 安全防范

2、技防建设(查是否安装技防监控、有几个技防探头),1分;(4分)

3、值守制度(查安全防范工作制度、值班表、值班记录是否健全完善),1分;

4、综治宣传(查有无综治和平安建设工作宣传宣传标语、横幅或图片),1分。

1、矛盾排查(查矛盾纠纷排查调处工作方案、工作机构、排查出哪些问题和苗头隐患、是否有不安定因素排查登记、落实哪些措施)1分;

2、定期分析研判(查每月社会治安和社会稳定分析研判报告)1分;

3、社会稳定风险评估评估工作(查社会稳定风险评估工作的贯彻落实意见和具体事项的风险评估记录),5分。

1、基层联系点平安结对共建工作(查工作方案和结对帮扶情况),1分;

2、开展平安机关创建(查工作意见、工作部署和开展情况),1分。机关创建(2分)

二0一一年乡镇(街道)综治和平安建设检查考核操作表

(三)县区: 乡镇(街道): 时间:2011年12月 日

单位 检查项目 人员配备(3分)责任落实(4分)检查内容、方法

1、专职副主任(查姓名、任命文件、本人工作记录,将人员任命文件带回,兼职的一律扣分),1分;

2、综治专干(5万人口以下1-2名,5万—10万人口2名,10万人口以上3名,查姓名、任命文件、本人工作记录,将人员任命文件带回,与从事司法、组织、信访等工作的人员进行核对,兼职的一律扣分),2分。

1、综治责任书(查是否为党委书记签订,与村及派出所、司法所、信访办等单位的责任书),1分;

2、综治和平安建设工作在党政综治考核所占分值达10%以上(查乡镇目标考核的文件),1分;

3、每季度一次综治工作督查(查督查通知、方案、操作表、检查通报、整改情况),1分;

4、工作部署(查综治和平安建设实施意见、方案),1分。

1、社会管理工作(查计划方案、组织机构和工作开展情况),1分;

2、矛盾纠纷排查化解(查大排查工作方案、排查出问题登记、落实的工作举措和每月社会治安和社会稳定分析研判报告),2分;

3、社会治安重点地区排查整治工作(查工作方案、突出问题排查登记、采取的整治措施、取得的工作成效),1分;

4、公众安全感建设(查提升公众安全感的工作方案、组织部署、影响公众安全感突出问题排查登记及整改等情况),2分。检查结果(得分)综 治 办 17分 重点工作开展情况(6分),2分 基层创建

1、开展乡镇(街道)等级化创建工作(工作方案、村等级评定排名等)

2、系列平安创建[查意见方案以及开展平安村(社区)、平安家庭、平安医院、平安校园等创建工作的(4分)工作方案、措施推进、工作成效],2分。机制建设

1、阵地建设(查有无服务大厅、实行8个部门以上集中办公),2分;

2、值班值守(查中心是否明确每天带班领导、是否有值班表、中心人员是否在岗在位),1分;

3、制度规范(查中心职责任务、工作流程、组织机构规范明确、统一上墙),1分。政法综治中心 7分(4分),1分; 工作运转

1、工作例会(查每周组织召开中心组成部门工作例会的会议记录)

2、统筹督办(查矛盾纠纷联调、社会治安联防、突出问题联治、重点工作联动、平安建设联创、社(3分)会管理联抓等六联工作机制推进落实、联席会办督办的工作记录),2分。3

二0一一年乡镇(街道)综治暨平安建设检查考核操作表

(四)单位 检查项目 技防中心(2分)

县区: 乡镇(街道): 时间:2011年12月 日 检查内容、方法

1、硬件建设(查技防中心是否达到农村8个、城区12个探头建设标准,记明有多少技防探头、正常运转的数量和监控记录保存时间),1分;

2、中心值守(查中心值班表和每日技防值守记录以及运用成果),1分; 检查结果(得分)派 出 所 10分 队伍建设(查专职保安、外来人口协管员的值班表、工资发放表、每日巡防记录、值班表、考勤记录等,看是否达到农村人口万分之八,城区人口万分之十;300—500流动人口1名协管员的配备标准,不达标的按比例扣分,扣完2分为止)。

1、公众安全感建设(查工作计划,特别是警民联系、入户宣传、巡防值守、群防群治、未破案件回,2分; 安全感建设 访等工作措施落实情况)

2、社会治安重点地区排查整治工作(查计划方案、排查出的突出问题和工作开展情况),1分;(5分)

3、群防群治工作(查工作方案、巡防记录、检查记录和群防群治人员化名册),1分;

4、破案打击(查1-11月份刑事发案数、破案数,看是否达到45%破案率),1分。保安辅警(2分)矛盾化解(1分)人员配备(1分)公调对接(查公调对接方案、组织、调处纠纷登记和设立公调对接室、配备两名专职调解员),1分。查司法所人员姓名、职务、任命文件、工作笔记、会议记录等,看是否达到3人标准。司 法 所 6分 安全感建设 加强安全感建设的工作计划以及开展法制宣传教育的工作计划、工作进展情况(1分)

1、调处中心(查人员在岗在位、配备2名专职调解员的聘书),1分; 矛盾化解

2、矛盾纠纷排查调处(查社会矛盾纠纷大排查工作方案、“三无”即无矛盾激化、无民转刑案件、无,1分;(3分)群体性上访创建方案,排查出哪些问题和每半月一次的矛盾纠纷排查调处报表和分析报告)

3、大调解机制建设(查公调对接、访调对接、劳资纠纷调处对接等工作意见、调处交接单),1分。特殊人群(1分)社区矫正(查工作计划、社区矫正人员的入矫记录、工作衔接审核报批记录、每周一次电话管控记录、每月组织一次见面管控记录等)4

二0一一年乡镇(街道)综治和平安建设检查操作表

(五)县区: 乡镇(街道): 时间:2011年12月 日 单位 检查项目 检查内容、方法

1、组织机构(查综治办是否挂牌、是否有办公场所以及综治办职责、制度任务是否规范上墙,是否有工作计划安排),1分;

2、人员配备(查有人专抓综治工作的村干部、是否在岗在位),1分;

3、治保委、调解委(查治保委、调解委机构是否健全、是否有调解室),1分;

4、排查研判(查每周社会治安和社会稳定情况排查记录是否齐全规范),1分;

5、综治宣传(查有无综治和平安建设工作的宣传标语和横幅),1分;

6、群防群治(查红袖标义务巡防人员达到村不少于15人、社区不少于20人标准、通过调查走访和现场查看有无红袖标人员开展巡逻防范),1分。

1、人员配备(查是否配备社区(驻村)民警、专职保安是否达到社区2保安、村1名保安标准,查人员姓名、值班表、工作记录),1分;

2、日常工作(查每日巡逻记录、矛盾纠纷调解台帐、调处多少起矛盾纠纷),1分。

1、意见部署(查平安校园工作意见,有专人负责创建办是否挂牌),1分;

2、技防、设施防(查校园是否有技防监控设施、有几个探头;是否建立校园警务室或校园110建立,有无专职保安人员值守并记明人员数,是否配备安全防范设施),1分;

3、法制教育(查是否聘请法制副校长、看聘书,两次以上的法制教育,看讲稿、计划安排、法制教育计划、台账),1分;

4、综治宣传(查是否有综治和平安建设宣传标语、横幅)。走访县城和城区两个居民小区

1、创建氛围(查有无综治和平安建设宣传标语、横幅),1分。

2、巡逻防范(查有无专职保安人员值守、值班表和巡逻记录,是否对进出车辆和人员进行询问登记)

3、技防、设施防(查有无安装技防设施、有无全覆盖,有无防范攀爬等设施),1分。检查结果(得分)村(社区)8分 综治办(6分)警务室(2分)学 校 4分 学校创建(4分)居民 小区 3分 治安防范(3分)5

第五篇:vb操作EXCEL表的常用方法

vb操作EXCEL表的常用方法(设计值,颜色,大小)2009-05-18 15:37 VB是常用的应用软件开发工具之一,由于VB的报表功能有限,而且一但报表格式发生变化,就得相应修改程序,给应用软件的维护工作带来极大的不便。因此有很多程序员现在已经充分利用EXECL的强大报表功来实现报表功能。但由于VB与EXCEL由于分别属于不同的应用系统,如何把它们有机地结合在一起,是一个值得我们研究的课题。

一、VB读写EXCEL表:

VB本身提自动化功能可以读写EXCEL表,其方法如下:

1、在工程中引用Microsoft Excel类型库:

从“工程”菜单中选择“引用”栏;选择Microsoft Excel 9.0 Object Library(EXCEL2000),然后选择“确定”。表示在工程中要引用EXCEL类型库。

2、在通用对象的声明过程中定义EXCEL对象: Dim xlApp As Excel.Application Dim xlBook As Excel.WorkBook Dim xlSheet As Excel.Worksheet

3、在程序中操作EXCEL表常用命令:

Set xlApp = CreateObject(“Excel.Application”)'创建EXCEL对象

Set xlBook = xlApp.Workbooks.Open(“文件名”)'打开已经存在的EXCEL工件簿文件 xlApp.Visible = True '设置EXCEL对象可见(或不可见)Set xlSheet = xlBook.Worksheets(“表名”)'设置活动工作表 xlApp.Cells(row, col)=值 '给单元格(row,col)赋值

XLApp.Cells(i, 1).Interior.ColorIndex = i'设计单元格颜色i=1--56 xlSheet.PrintOut '打印工作表 xlBook.Close(True)'关闭工作簿 xlApp.Quit '结束EXCEL对象

Set xlApp = Nothing '释放xlApp对象

xlBook.RunAutoMacros(xlAutoOpen)'运行EXCEL启动宏 xlBook.RunAutoMacros(xlAutoClose)'运行EXCEL关闭宏 自己用代码就可以获取颜色列表了 Sub yansecode()For i = 1 To 56 XlApp.Cells(i, 1)= i xlapp.Cells(i, 1).Interior.ColorIndex = i Next End Sub

4、在运用以上VB命令操作EXCEL表时,除非设置EXCEL对象不可见,否则VB程序可继续执行其它操作,也能够关闭EXCEL,同时也可对EXCEL进行操作。但在EXCEL操作过程中关闭EXCEL对象时,VB程序无法知道,如果此时使用EXCEL对象,则VB程序会产生自动化错误。形成VB程序无法完全控制EXCEL的状况,使得VB与EXCEL脱节。

二、EXCEL的宏功能:

EXCEL提供一个Visual Basic编辑器,打开Visual Basic编辑器,其中有一工程属性窗口,点击右键菜单的“插入模块”,则增加一个“模块1”,在此模块中可以运用Visual Basic语言编写函数和过程并称之为宏。其中,EXCEL有两个自动宏:一个是启动宏(Sub Auto_Open()),另一个是关闭宏(Sub Auto_Close())。它们的特性是:当用EXCEL打含有启动宏的工簿时,就会自动运行启动宏,同理,当关闭含有关闭宏的工作簿时就会自动运行关闭宏。但是通过VB的自动化功能来调用EXCEL工作表时,启动宏和关闭宏不会自动运行,而需要在VB中通过命令xlBook.RunAutoMacros(xlAutoOpen)和xlBook.RunAutoMacros(xlAutoClose)来运行启动宏和关闭宏。

三、VB与EXCEL的相互勾通:

充分利用EXCEL的启动宏和关闭宏,可以实现VB与EXCEL的相互勾通,其方法如下:

在EXCEL的启动宏中加入一段程序,其功能是在磁盘中写入一个标志文件,同时在关闭宏中加入一段删除此标志文件的程序。VB程序在执行时通过判断此标志文件存在与否来判断EXCEL是否打开,如果此标志文

件存在,表明EXCEL对象正在运行,应该禁止其它程序的运行。如果此标志文件不存在,表明EXCEL对象已被用户关闭,此时如果要使用EXCEL对象运行,必须重新创建EXCEL对象。

四、举例:

1、在VB中,建立一个FORM,在其上放置两个命令按钮,将Command1的Caption属性改为EXCEL,Command2的Caption属性改为End。然后在其中输入如下程序:

Dim xlApp As Excel.Application '定义EXCEL类 Dim xlBook As Excel.Workbook '定义工件簿类 Dim xlsheet As Excel.Worksheet '定义工作表类 Private Sub Command1_Click()'打开EXCEL过程

If Dir(“D:tempexcel.bz”)= “" Then '判断EXCEL是否打开 Set xlApp = CreateObject(”Excel.Application“)'创建EXCEL应用类 xlApp.Visible = True '设置EXCEL可见

Set xlBook = xlApp.Workbooks.Open(”D:tempbb.xls“)'打开EXCEL工作簿 Set xlsheet = xlBook.Worksheets(1)'打开EXCEL工作表 xlApp.Activate '激活工作表

xlApp.Cells(1, 1)= ”abc“ '给单元格1行驶列赋值 xlBook.RunAutoMacros(xlAutoOpen)'运行EXCEL中的启动宏

Else MsgBox(”EXCEL已打开“)End If End Sub Private Sub Command2_Click()If Dir(”D:tempexcel.bz“)<> ”“ Then '由VB关闭EXCEL xlBook.RunAutoMacros(xlAutoClose)'执行EXCEL关闭宏 xlBook.Close(True)'关闭EXCEL工作簿

xlApp.Quit '关闭EXCEL End If Set xlApp = Nothing '释放EXCEL对象

End End Sub

2、在D盘根目录上建立一个名为Temp的子目录,在Temp目录下建立一个名为”bb.xls“的EXCEL文件。

3、在”bb.xls“中打开Visual Basic编辑器,在工程窗口中点鼠标键选择插入模块,在模块中输入入下程序存盘:

Sub auto_open()Open ”d:tempexcel.bz“ For Output As #1 '写标志文件

Close #1 End Sub Sub auto_close()Kill ”d:tempexcel.bz“ '删除标志文件 End Sub

4、运行VB程序,点击EXCEL按钮可以打开EXCEL系统,打开EXCEL系统后,VB程序和EXCEL分别属两个不同的应用系统,均可同时进行操作,由于系统加了判断,因此在VB程序中重复点击EXCEL按钮时会提示EXCEL已打开。如果在EXCEL中关闭EXCEL后再点EXCEL按钮,则会重新打开EXCEL。而无论EXCEL打开与否,通过VB程序均可关闭EXCEL。这样就实现了VB与EXCEL的无缝连接。

范例一

Option Explicit Private Sub Command1_Click()Dim xlApp As Excel.Application Dim xlBook As Excel.Workbook Dim xlChar As New Excel.Chart Dim xlSheet As New Excel.Worksheet '建立需要的对象

Set xlApp = New Excel.Application Set xlApp = CreateObject(”Excel.Application“)Set xlBook = xlApp.Workbooks.Open(”F:BOOK1.xls“)Set xlSheet = xlBook.Worksheets(1)'建立Chart 对象

Set xlChar = xlApp.Charts.Add()xlChar.ChartType = xlLineMarkers Call xlChar.SetSourceData(xlSheet.Range(”A1:E7“), xlColumns)'原数据 ActiveChart.Location Where:=xlLocationAsObject, Name:=”Sheet1“ ActiveChart.HasLegend = True ActiveChart.Legend.Select Selection.Position = xlRight '选中建立的ChartObjects对象

ActiveSheet.ChartObjects(”图表 1“).Activate ActiveChart.PlotArea.Select ActiveChart.Legend.Select '删除 退出(&X)菜单

Dim i As Integer For i = 1 To xlApp.CommandBars(”File“).Controls.Count Debug.Print xlApp.CommandBars(”File“).Controls(i).Caption If Left$(xlApp.CommandBars(”File“).Controls(i).Caption, 2)= ”关闭“ Then xlApp.CommandBars(”File“).Controls(i).Visible = False 'Delete Exit For End If Next '显示EXCEL xlApp.Visible = True End Sub 范例二 RichTextBox1 Dim xlApp As Excel.Application Set xlApp = New Excel.Application----然后,可以用这些变量来访问在EXCEL应用程序中的从属对象、以及这些对象的属性和方法。例如:

Set xlApp = CreateObject(”Excel.Application“)‘激活EXCEL应用程序

xlApp.Visible = False ‘隐藏EXCEL应用程序窗口 Set xlBook = xlApp.Workbooks.Open(strDestination)‘打开工作簿,strDestination为一个EXCEL报表文件 Set xlSheet = xlBook.Worksheets(1)‘设定工作表

VB借助EXCEL实现表格设计

1、定义EXCEL对象变量 dim x as excel.application

2、VB中,启动EXCEL set x=createobject(”excel.application“)

3、新建一个EXCEL工作簿 x.workbooks.add

4、选定工作表1 set xsheet=xbook.worksheets(1)

5、指定单元格,并赋值

xsheet.cell(1,1)=ret.fields(0)

6、指定EXCEL列宽

xsheet.column(1).columnwidth=10

7、RANGE()函数,选定单元格区域 range(cells(1,1),cells(10,20))

8、设置EXCEL字体

xsheet.range(cells(1,1),cells(10,20)).font.name=”黑体“

9、设置EXCEL为粗体

xsheet.range(cells(1,1),cells(10,20)).fontbold=true

10、设置EXCEL表格边框

xsheet.range(cells(1,1),cells(10,20)).borders.linestyle=xlcontinuous

11、运行时,显示EXCEL或隐藏EXCEL x.visible=true

12、保存工作簿 xbook save

13、退出EXCEL x.quit

14、交还控制权给EXCEL set x=nothing

15、打印EXCEL表

x.active.window.selectedsheets.printout copies=numcopies

16、退出EXCEL时,不出现保存提示。x.displayalerts=false

17、怎样运用EXCEL公式?

x.range(”A3“).formula= ”=max(A1,A2)“

18、EXCEL代码获取技巧

打开EXCEL中的工具----宏----录制新宏,然后进行手工操作,结束后把所录的宏代码贴进你的VB程序就行。

19、合并单元格代码

x.range(”A2:A5“).inergecells=true 20、自动调整列宽代码

x.column(”A:I“).autofit ' a到 I列自动调整列宽

21、文本自动换行代码 x.rows(3).wraptext=true

22、设置字体颜色

x.rows(1).font.colorindex=4

23、打印预览代码

x.worksheets.printpreview

24、打开EXCEL文件

x.workbooks.open filename:=”c:my documentsmy vb lgx dy.xls“

========================================== 如何用VB控制EXCEL生成报表

做为一种简捷、系统的 Windows应用程序开发工具,Visual Basic 6 具有强大的数据处理功能,提供了多种数据访问方法,可以方便地存取Microsoft SQL Server、Oracle、XBase等多种数据库,被广泛应用于建立各种信息管理系统。但是,VB缺乏足够的、符合中文习惯的数据表格输出功能,虽然使用Crystal Report控件及 Crystal Reports程序可以输出报表,但操作起来很麻烦,中文处理能力也不理想。Excel作为Micorsoft公司的表格处理软件在表格方面有着强大的功能,我们可用VB5编写直接控制Excel操作的程序,方法是用VB的OLE自动化技术获取Excel 2000 的控制句柄,从而直接控制Excel 2000的一系列操作。

下面给出一个实例:

首先建立一个窗体(FORM1)在窗体中加入一个DATA控件和一按钮,引用Microsoft Excel类型库: 从”工程“菜单中选择”引用“栏;选择Microsoft Excel 9.0 Object Library;选择”确定“。然后在FORM的LOAD事件中加入:

Private Sub Form_Load()'数据库及表可以另选,本文以Nwind.mdb为例

Data1.DatabaseName = ”C:Program FilesMicrosoft Visual StudioVB98Nwind.mdb“ Data1.RecordSource = ”Customers“ Data1.Refresh End Sub 在按钮的CLICK事件中加入 Private Sub Command1_Click()Dim Irow, Icol As Integer Dim Irowcount, Icolcount As Integer Dim Fieldlen()'存字段长度值 Dim xlApp As Excel.Application Dim xlBook As Excel.Workbook Dim xlSheet As Excel.Worksheet

Set xlApp = CreateObject(”Excel.Application“)Set xlBook = xlApp.Workbooks.Add Set xlSheet = xlBook.Worksheets(1)With Data1.Recordset.MoveLast If.RecordCount < 1 Then MsgBox(”Error 没有记录!“)Exit Sub End If Irowcount =.RecordCount '记录总数 Icolcount =.Fields.Count '字段总数 ReDim Fieldlen(Icolcount).MoveFirst For Irow = 1 To Irowcount + 1 For Icol = 1 To Icolcount Select Case Irow Case 1 '在Excel中的第一行加标题

xlSheet.Cells(Irow, Icol).Value =.Fields(Icol1))= True Then Fieldlen(Icol)= LenB(.Fields(Icol1))End If

xlSheet.Columns(Icol).ColumnWidth = Fieldlen(Icol)'Excel列宽等于字段长

xlSheet.Cells(Irow, Icol).Value =.Fields(Icol1))If Fieldlen(Icol)< Fieldlen1 Then xlSheet.Columns(Icol).ColumnWidth = Fieldlen1 '表格列宽等于较长字段长 Fieldlen(Icol)= Fieldlen1 '数组Fieldlen(Icol)中存放最大字段长度值 Else xlSheet.Columns(Icol).ColumnWidth = Fieldlen(Icol)End If xlSheet.Cells(Irow, Icol).Value =.Fields(Icol1)).Font.Name = ”黑体“ '设标题为黑体字

.Range(.Cells(1, 1),.Cells(1, Icol1)).Borders.LineStyle = xlContinuous '设表格边框样式 End With xlApp.Visible = True '显示表格 xlBook.Save '保存

Set xlApp = Nothing '交还控制给Excel End With End Sub 本程序在中文Windows98、中文VB6下通过。

===== VB5.0调用Office97技巧

Visual Basic 5.0具有简单、易学等特点,深受初学者的欢迎,但也有一些不如人意的地方。例如,不能像Word 97那样进行拼写检查,不能像Excel 97那样具有很多的函数。如果我们能将Word 97和Exce l97的功能使用在Visual Basic 5.0中,就可以使VB达到锦上添花的目的。

我们知道所有Office 97 应用程序都提供了ActiveX对象,我们可以在Visual Basic 5.0中使用它们调用Word 97 要想在VB中调用Word 97,首先要打开VB的”工程“菜单中的”引用“项目,并在该项目对话框中选定”Microsoft Word 8.0 Object Library“就可以了。

下面我们举例说明调用Word 97中的”拼写检查“和”单词统计“功能。首先新建一个工程并在窗体上放置一个TextBox控件和两个CommandButton控件,然后添入如下的代码:

Option Explicit Dim Doc As New Document Dim Visi As Boolean ′拼写检查

Private Sub Command1-Click()Form1.Caption = ”拼写检查“ Doc.Range.Text = Text1 ′确定范围

Doc.Application.Visible = True ′将Word 97变为可见 AppActivate Doc.Application.Caption ′激活Word 97 Doc.Range.CheckSpelling ′拼写检查

Text1 = Doc.Range.Text

Text1 = Left(Text1, Len(Text1)- 1)AppActivate Caption End Sub ′统计单词数

Private Sub Command2-Click()Dim Dlg As Word.Dialog Doc.Range = Text1.Text Set Dlg = Doc.Application.Dialogs(wdDialogDocumentStatistics)Dlg.Execute ′统计单词和字符

Form1.Caption =”单词数:“ & Str(Dlg.Words)& ”词“ & Str(Dlg.Characters)& ”字符“ ′显示统计结果 End Sub Top 范例三

Private Sub Form-Load()Form1.Caption =”调用Word 97“ Text1.Text = ”“ Command1.Caption = ”拼写检查“ Command2.Caption = ”统计单词“ ′使应用程序可见

Visi = Doc.Application.Visible End Sub ′关闭应用程序

Private Sub Form-Unload(Cancel As Integer)

If Visi Then ′关闭文件 Doc.Close savechanges:=False Else Doc.Application.Quit savechanges:=False ′关闭 Word 97 End If End Sub 调用Excel 97 使用Excel Sheet对象的技术可以处理可变数量的数据,并将结果最后送到你的Visual Basic 应用程序中。例子如下:

新建一个工程并在新建的窗体上放置两个TextBox控件和一个CommandButton控件及六个Label控件。建设中的窗体如图2所示。

程序代码如下: Option Explicit Private Sub Command1-Click()Dim xObject As Object ′调用Excel 97 Set xObject = CreateObject(”Excel.Sheet“)Set xObject = xObject.Application.ActiveWorkbook.ActiveSheet xObject.Range(”A1“).Value = Text1.Text ′将数值送入Excel 97的A1单元格 xObject.Range(”A2“).Value = Text2.Text ′将数值送入Excel 97的A2单元格 xObject.Range(”A3“).Formula = ”=MAX(A1,A2)“ ′将最大值送入A3单元格

xObject.Range(”A4“).Formula = ”=ATAN(A1/A2)*180/PI()“ ′将反正切值送入A4单元格

′显示计算的结果

Label1.Caption = xObject.Range(”A3“).Value Label2.Caption = xObject.Range(”A4“).Value

Set xObject = Nothing End Sub Private Sub Form_Load()Text1.Text = ”“ Text2.Text = ”“ Label1.Caption = ”“ Label2.Caption = ”“ End Sub 该程序的作用是:首先在两个文本框(Text1和Text2)输入数值并分别将输入的数值送入Excel 97的”A1“和”A2“单元格中,然后用Excel 97中的”Max()“函数将计算的结果送入”A3“ 单元格中;用反正切函数”ATAN()“进行计算并将结果送入”A4“ 单元格中,最后输出。

===== 浅谈Excel 的VB编程

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

----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----好了,关于Excel的VB编程今天就讲到这儿吧。

===== 如何將Excel的文件导入Access文件?

下面我已程序代码做成模块,只要导入必要之参数即可!此一模块共有四个参数:

1、sSheetName:要导出资料的文件名称(Sheet name),例如 Sheet1

2、sExcelPath:要导出资料的 Excel 档案路径名称(Workbook path),例如 C:book1.xls

3、sAccessTable:要导入的 Access Table 名称,例如 TestTable

4、sAccessDBPath:要导入的 Access 档案路径名称,例如 C:Test.mdb 在声明中加入以下:

Private Sub ExportExcelSheetToAccess(sSheetName As String, sExcelPath As String, sAccessTable As String, sAccessDBPath As String)Dim db As Database Dim rs As Recordset Set db = OpenDatabase(sExcelPath, True, False, ”Excel 5.0“)Call db.Execute(”Select * into [;database=“ & sAccessDBPath & ”].“ & sAccessTable & ” FROM [“ & sSheetName & ”$]“)MsgBox ”Table exported successfully.“, vbInformation, ”Yams“ End Sub 使用范例如下:將 C:book1.xls 中的 Sheet1 导入 C:Test.mdb 成为 TestTable ExportExcelSheetToAccess ”Sheet1“, ”C:book1.xls“, ”TestTable“, ”C:Test.mdb“ ===== Dim adoConnection As New ADODB.Connection Dim adoRecordset As New ADODB.Recordset 'OLE DB + ODBC Driver 方式: 'adoConnection.Open ”Data Provider=MSDASQL.1;driver=Microsoft

Excel Driver

(*.xls);DBQ=e:tempbook2.xls“ 'Microsoft.Jet.OLEDB.4.0 方式,(建议)adoConnection.Open ”Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=e:tempbook2.xls;Extended Properties='Excel 8.0;HDR=Yes'“ adoRecordset.Open ”select * from [sheet1$]“, adoConnection, adOpenKeyset, adLockOptimistic '注: OLE DB + ODBC Driver 方式不支持以下语句,但 Microsoft.Jet.OLEDB.4.0 方式支持!adoConnection.Execute ”insert into [sheet1$](F1)values(3)“ adoRecordset.AddNew Array(”f1“, ”f2“, ”f3“, ”f4“), Array(1, 2, 3, 4)21

VB操作excel 全面控制Excel 首先创建Excel对象,使用ComObj: DimExcelIDasExcel.Application SetExcelIDasnewExcel.Application 1)显示当前窗口: ExcelID.Visible:=True;2)更改Excel标题栏:

ExcelID.Caption:='应用程序调用MicrosoftExcel';3)添加新工作簿: ExcelID.WorkBooks.Add;4)打开已存在的工作簿:

ExcelID.WorkBooks.Open('C:ExcelDemo.xls');5)设置第2个工作表为活动工作表: ExcelID.WorkSheets[2].Activate;或ExcelID.WorkSheets['Sheet2'].Activate;6)给单元格赋值:

ExcelID.Cells[1,4].Value:='第一行第四列';7)设置指定列的宽度(单位:字符个数),以第一列为例: ExcelID.ActiveSheet.Columns[1].ColumnsWidth:=5;8)设置指定行的高度(单位:磅)(1磅=0.035厘米),以第二行为例: ExcelID.ActiveSheet.Rows[2].RowHeight:=1/0.035;//1厘米 9)在第8行之前插入分页符:

ExcelID.WorkSheets[1].Rows[8].PageBreak:=1;参考代码:ActiveSheet.HPageBreaks(1).Location=Range(”A22“)

10)在第8列之前删除分页符:

ExcelID.ActiveSheet.Columns[4].PageBreak:=0;11)指定边框线宽度:

ExcelID.ActiveSheet.Range['B3:D4'].Borders[2].Weight:=3;1-左 2-右3-顶 4-底5-斜()6-斜(/)12)清除第一行第四列单元格公式:

ExcelID.ActiveSheet.Cells[1,4].ClearContents;13)设置第一行字体属性:

ExcelID.ActiveSheet.Rows[1].Font.Name:='隶书';ExcelID.ActiveSheet.Rows[1].Font.Color :=clBlue;ExcelID.ActiveSheet.Rows[1].Font.Bold:=True;ExcelID.ActiveSheet.Rows[1].Font.UnderLine:=True;14)进行页面设置: a.页眉:

ExcelID.ActiveSheet.PageSetup.CenterHeader:='报表演示';b.页脚:

ExcelID.ActiveSheet.PageSetup.CenterFooter:='第&P页';c.页眉到顶端边距2cm:

ExcelID.ActiveSheet.PageSetup.HeaderMargin:=2/0.035;d.页脚到底端边距3cm:

ExcelID.ActiveSheet.PageSetup.HeaderMargin:=3/0.035;e.顶边距2cm:

ExcelID.ActiveSheet.PageSetup.TopMargin:=2/0.035;f.底边距2cm:

ExcelID.ActiveSheet.PageSetup.BottomMargin:=2/0.035;

g.左边距2cm:

ExcelID.ActiveSheet.PageSetup.LeftMargin:=2/0.035;h.右边距2cm:

ExcelID.ActiveSheet.PageSetup.RightMargin:=2/0.035;i.页面水平居中:

ExcelID.ActiveSheet.PageSetup.CenterHorizontally:=2/0.035;j.页面垂直居中:

ExcelID.ActiveSheet.PageSetup.CenterVertically:=2/0.035;k.打印单元格网线:

ExcelID.ActiveSheet.PageSetup.PrintGridLines:=True;15)拷贝操作: a.拷贝整个工作表:

ExcelID.ActiveSheet.Used.Range.Copy;b.拷贝指定区域:

ExcelID.ActiveSheet.Range['A1:E2'].Copy;c.从A1位置开始粘贴:

ExcelID.ActiveSheet.Range.['A1'].PasteSpecial;d.从文件尾部开始粘贴:

ExcelID.ActiveSheet.Range.PasteSpecial;16)插入一行或一列:

a.ExcelID.ActiveSheet.Rows[2].insert;b.ExcelID.ActiveSheet.Columns[1].insert;17)删除一行或一列:

a.ExcelID.ActiveSheet.Rows[2].delete;b.ExcelID.ActiveSheet.Columns[1].delete;

18)打印预览工作表:

ExcelID.ActiveSheet.PrintPreview;19)打印输出工作表:

ExcelID.ActiveSheet.PrintOut;20)工作表保存:

IfnotExcelID.ActiveWorkBook.Savedthen ExcelID.ActiveSheet.PrintPreview Endif 21)工作表另存为:

ExcelID.SaveAs('C:ExcelDemo1.xls');22)放弃存盘:

ExcelID.ActiveWorkBook.Saved:=True;23)关闭工作簿: ExcelID.WorkBooks.Close;24)退出Excel: ExcelID.Quit;25)设置工作表密码: ExcelID.ActiveSheet.Protect”123“,DrawingObjects:=True,Contents:=True,Scenarios:=True 26)EXCEL的显示方式为最大化

ExcelID.Application.WindowState=xlMaximized 27)工作薄显示方式为最大化

ExcelID.ActiveWindow.WindowState=xlMaximized 28)设置打开默认工作薄数量 ExcelID.SheetsInNewWorkbook=3 29)'关闭时是否提示保存(true保存;false不保存)

ExcelID.DisplayAlerts=False 30)设置拆分窗口,及固定行位置 ExcelID.ActiveWindow.SplitRow=1 ExcelID.ActiveWindow.FreezePanes=True 31)设置打印时固定打印内容

ExcelID.ActiveSheet.PageSetup.PrintTitleRows=”$1:$1“ 32)设置打印标题

ExcelID.ActiveSheet.PageSetup.PrintTitleColumns=”“ 33)设置显示方式(分页方式显示)ExcelID.ActiveWindow.View=xlPageBreakPreview 34)设置显示比例

ExcelID.ActiveWindow.Zoom=100 35)让Excel响应DDE请求

Ex.Application.IgnoreRemoteRequests=False 26

用VB操作EXCEL PrivateSubCommand3_Click()OnErrorGoToerr1 DimiAsLong DimjAsLong DimobjExlAsExcel.Application'声明对象变量 Me.MousePointer=11'改变鼠标样式

SetobjExl=NewExcel.Application'初始化对象变量

objExl.SheetsInNewWorkbook=1 '将新建的工作薄数量设为1 objExl.Workbooks.Add '增加一个工作薄

objExl.Sheets(objExl.Sheets.Count).Name=”book1“ '修改工作薄名称

objExl.Sheets.Add,objExl.Sheets(”book1“)‘增加第二个工作薄在第一个之后 objExl.Sheets(objExl.Sheets.Count).Name=”book2“ objExl.Sheets.Add,objExl.Sheets(”book2“)‘增加第三个工作薄在第二个之后 objExl.Sheets(objExl.Sheets.Count).Name=”book3“

objExl.Sheets(”book1“).select'选中工作薄 Fori=1To50 '循环写入数据 Forj=1To5 If i= 1Then objExl.selection.NumberFormatLocal=”@“ '设置格式为文本 objExl.Cells(i,j)=” E “ & i & j Else objExl.Cells(i,j)=i&j EndIf

Next Next

objExl.Rows(”1:1“).select'选中第一行 objExl.selection.Font.Bold=True'设为粗体 objExl.selection.Font.Size=24'设置字体大小 objExl.Cells.EntireColumn.AutoFit '自动调整列宽 objExl.ActiveWindow.SplitRow=1 '拆分第一行 objExl.ActiveWindow.SplitColumn=0 '拆分列 objExl.ActiveWindow.FreezePanes=True'固定拆分

objExl.ActiveSheet.PageSetup.PrintTitleRows=”$1:$1“ '设置打印固定行 objExl.ActiveSheet.PageSetup.PrintTitleColumns=”“ '打印标题 objExl.ActiveSheet.PageSetup.RightFooter=”打印时间:“&_ Format(Now,”yyyy年mm月dd日hh:MM:ss“)objExl.ActiveWindow.View=xlPageBreakPreview '设置显示方式 objExl.ActiveWindow.Zoom=100 '设置显示大小

objExl.ActiveSheet.PageSetup.Orientation=xlLandscape ‘设置打印方向(横向)'给工作表加密码

objExl.ActiveSheet.Protect”123“,DrawingObjects:=True, _ Contents:=True,Scenarios:=True objExl.Application.IgnoreRemoteRequests=False objExl.Visible=True'使EXCEL可见

objExl.Application.WindowState=xlMaximized'EXCEL的显示方式为最大化 objExl.ActiveWindow.WindowState=xlMaximized'工作薄显示方式为最大化 objExl.SheetsInNewWorkbook=3 '将默认新工作薄数量改回3个

SetobjExl=Nothing '清除对象 Me.MousePointer=0'修改鼠标 ExitSub err1: objExl.SheetsInNewWorkbook=3 objExl.DisplayAlerts=False '关闭时不提示保存 objExl.Quit'关闭EXCEL objExl.DisplayAlerts=True'关闭时提示保存 SetobjExl=Nothing Me.MousePointer=0 EndSub 数据库管理系统的开发人员经常被编制复杂的报表所困扰,VB的水晶报表可以设计简单的报表,但是设计出的报表缺乏灵活性。我利用VB操作EXCEL2000来生成复杂的报表。

用VB创建外部EXCEL对象

Microsoft Office应用程序提供了一个顶层Application 对象。下面语句显示了对Microsoft Excel的Application 对象的引用,用这些变量来访问在EXCEL应用程序中的从属对象、以及这些对象的属性和方法。:

Dim xlApp As Excel.Application Set xlApp = New Excel.Application Set xlApp = CreateObject(”Excel.Application“)xlApp.Visible = False Set xlBook = xlApp.Workbooks.Open(strDestination)Set xlSheet = xlBook.Worksheets(1)29

用EXCEL 2000设计报表的模版文件

EXCEL 2000是一个非常优秀的创建报表的工具。它提供的单元格任意合并、拆分功能基本上能够满足设计复杂报表的要求。它对任意一个单元格的格式随意控制,因此它为设计复杂报表提供了强大的支持。

根据用户提供的报表,我们可以很快在EXCEL里生成模版文件。模版文件只是为了满足用户多方面的需求而设计的。并且随着时间和实际情况的变化,表格格式有可能需要改变,我们设计一个模版文件可以“以不变应万变”了。在程序里我们不要对模版文件进行操作,我们只需要对模版文件的一个拷贝进行操作就行。程序代码如下:

Dim strSource, strDestination As String strSource = App.Path & ”Excelsdangan.xls“ strDestination = App.Path & ”ExcelsTemp.xls“ FileCopy strSource, strDestination Set mobjExcel = New Excel.Application Set mobjExcel = CreateObject(”Excel.Application“)mobjExcel.Visible = False Set mobjworkbook = mobjExcel.Workbooks.Open(strDestination)Set xlsheet = mobjworkbook.Worksheets(1)If Not opendatasource()Then MsgBox ”不能打开数据源!“, , ”提示“ Unload Me Exit Sub End If Private Function opendatasource()ssql=”select shgt_dah,shgt_yth,shgt_ajtm,shgt_chtrq, shgt_shjdw,shgt_wzysh,shgt_tzzhsh,shgt_gdrq,shgt_bz from shgtajb“ OpenResultset ssql, mrdors

opendatasource = True Exit Function End Function 生成工作表内容

有了上述两步工作的铺垫,我们只要根据模板的格式给各单元格赋值如:

Do while Not mrdors.Eof i=4 For j=0 to mrdors.rdocolumns.count-2 MobjExcel.Activesheet.cells(i,j+1)。value=mrdors.rdocolumns(j)。Value Next Mrdors.movenext Loop 打印报表

生成了工作表后,就可以对EXCEL发出打印指令了。在执行打印操作之前应该对EXCEL临时文件执行一次保存操作,以免在退出应用程序后EXCEL还提示用户是否保存已修改的文件。如下语句:

xlBook.Save xlSheet.PrintOut xlApp.Quit Private Sub Command3_Click()On Error GoTo err1 Dim i As Long Dim j As Long Dim objExl As Excel.Application'声明对象变量 Me.MousePointer = 11'改变鼠标样式

Set objExl = New Excel.Application'初始化对象变量 objExl.SheetsInNewWorkbook = 1 '将新建的工作薄数量设为1 objExl.Workbooks.Add '增加一个工作薄

objExl.Sheets(objExl.Sheets.Count).Name = ”book1“ '修改工作薄名称 objExl.Sheets.Add , objExl.Sheets(”book1“)'增加第二个工作薄在第一个之后 objExl.Sheets(objExl.Sheets.Count).Name = ”book2“ objExl.Sheets.Add , objExl.Sheets(”book2“)'增加第三个工作薄在第二个之后 objExl.Sheets(objExl.Sheets.Count).Name = ”book3“

objExl.Sheets(”book1“).Select '选中工作薄 For i = 1 To 50'循环写入数据 For j = 1 To 5 If i = 1 Then objExl.Selection.NumberFormatLocal = ”@“ '设置格式为文本 objExl.Cells(i, j)= ” E “ & i & j Else objExl.Cells(i, j)= i & j End If Next Next objExl.Rows(”1:1“).Select '选中第一行 objExl.Selection.Font.Bold = True'设为粗体 objExl.Selection.Font.Size = 24 '设置字体大小 objExl.Cells.EntireColumn.AutoFit '自动调整列宽 objExl.ActiveWindow.SplitRow = 1 '拆分第一行 objExl.ActiveWindow.SplitColumn = 0'拆分列 objExl.ActiveWindow.FreezePanes = True'固定拆分

objExl.ActiveSheet.PageSetup.PrintTitleRows = ”$1:$1“ '设置打印固定行 objExl.ActiveSheet.PageSetup.PrintTitleColumns = ”“'打印标题 objExl.ActiveSheet.PageSetup.RightFooter = ”打印时间: “ & _ Format(Now, ”yyyy年mm月dd日 hh:MM:ss“)objExl.ActiveWindow.View = xlPageBreakPreview'设置显示方式 objExl.ActiveWindow.Zoom = 100 '设置显示大小 '给工作表加密码

objExl.ActiveSheet.Protect ”123“, DrawingObjects:=True, _ Contents:=True, Scenarios:=True objExl.Application.IgnoreRemoteRequests = False objExl.Visible = True '使EXCEL可见

objExl.Application.WindowState = xlMaximized'EXCEL的显示方式为最大化 objExl.ActiveWindow.WindowState = xlMaximized'工作薄显示方式为最大化 objExl.SheetsInNewWorkbook = 3'将默认新工作薄数量改回3个 Set objExl = Nothing'清除对象 Me.MousePointer = 0'修改鼠标 Exit Sub err1: objExl.SheetsInNewWorkbook = 3 objExl.DisplayAlerts = False '关闭时不提示保存 objExl.Quit'关闭EXCEL objExl.DisplayAlerts = True'关闭时提示保存 Set objExl = Nothing Me.MousePointer = 0 End Sub =====================================

Visual Basic简称(VB)是设计Windows应用程序强有力的开发工具,“全球绝大多数Windows应用程序都是用VB开发的”; Excel是目前使用最广泛的办公应用软件之一,它具有强大的数学分析与计算功能,包括很多VB没有的求值数学表达式的函数和方法。由于Excel的应用程序对象是外部可创建的对象,所以能从VB应用程序内部来程序化操纵Excel。本文结合自己的实践和体会,谈谈如何在VB6.0应用程序中调用Exce12000,供大家参考。

一、Excel对象模型

为了在VB应用程序中调用Excel,必须要了解Excel对象模型。Excel对象模型描述了Excel的理论结构,所提供的对象很多,其中最重要的对象,即涉及VB调用Excel最可能用到的对象有:

二、调用Excel 在VB应用程序中调用Excel,实质是将Excel作为一个外部对象来引用,由Excel对象模型提供能从VB应用程序内部来程序化操纵的对象以及相关的属性、方法和事件。

1、在VB工程中添加对Excel类型库的引用

为了能从VB应用程序中访问Excel丰富的内部资源,使Excel应用程序运行得更快,需要在VB工程中添加对Excel类型库的引用。具体步骤如下:

a)从VB5“工程”菜单中选择“引用”;

b)在“引用”对话框中选择Excel类型库:”Microsoft Excel9.0 Object Library“; c)单击左边小方框,使之出现“√”符号; d)按“确定”退出。

注:要想在VB应用程序中调用Excel,你的计算机系统中必须安装Excel。

2、引用Application对象

Application对象是Excel对象模型的顶层,表示整个Excel应用程序。在VB应用程序中调用Excel,就是使用Application对象的属性、方法和事件。为此,首先要声明对象变量:

Dim VBExcel As Object 或直接声明为Excel对象:

Dim VBExcel As Excel.Application 在声明对象变量之后,可用CreateObject函数或GetObject函数给变量赋值新的或已存在的Application对象引用。

a)用CreateObject函数生成新的对象引用: Set VBExcel=CreateObject(”Excel.Application“)字符串“Excel.Application”是提供Excel应用程序的编程ID,这个变量引用Excel应用程序本身。b)用GetO场ect函数打开已存在的对象引用:

Set AppExcel=GetObject(”SAMP.XLS“)上面语句打开文件SAMP.XLS。

3、Application对象常用的属性、方法 属性、方法 方法

Visible属性 取True或False,表明Excel应用程序是否可见。Left,Top属性 Excel窗口的位置; Height, Width属性 Excel窗口的大小;

WindowState属性 指定窗口的状态,取:XIMaximized(最大化)X1 Minimized(最小化)x1 Normal(缺省)。Quit方法 退出Microsoft Excel;

Calculate方法 重新计算所有打开的工作簿、工作表或单元格。Evaluate方法 求值数学表达式并返回结果。示例1:求值数学表达式: Dim VBExcel As Object Set VBExcel=CreateObject(”Excel.Application“)X=VBExcel.Evaluate(”3+5*(cos(1/log(99.9)))“)

三、使用Excel应用程序

如前所述,在VB应用程序中调用Excel应用程序,就是使用Application对象的属性、方法和事件。下面分类给出其中常用的属性和方法。

1、使用工作薄

Workbook对象代表Excel应用程序中当前打开的一个工作簿,包含在Workbooks集合中。可以通过Workbooks集合或表示当前活动工作簿的Active Workbook对象访问Workbook对象。

常用的方法有: 属性、方法 意义

Add方法 创建新的空白工作簿,并将其添加到集合中。Open方法 打开工作簿。

Activate方法 激活工作簿,使指定工作簿变为活动工作簿,以便作为Active Workbook对象使用。Save方法 按当前路径和名称保存现有工作簿(如是首次保存,则将其保存到缺省名称中,如BOOK1.XLS)。SaveAs方法 首次保存工作簿或用另一名称保存工作簿。Close方法 关闭工作簿。

PrintOut方法 打印工作簿,语法为:

PrintOut(from, To, Copies, Preview, Printer, ToFile, Collate)可选参数:

From:打印的起始页号。如省略将从起始位置开始打印。

To:打印的终止页号。如省略将打印至最后一页。

Copies:要打印的份数。如省略将只打印一份。

Preview:如果为True则Excel打印指定对象之前进行打印预览。如果为False,或省略则立即打印该对象。

Printer:设置活动打印机的名称。

ToFile:如果为True则打印输出到文件。

Collate:如果为True则逐份打印每份副本。下面语句将活动工作簿的2到5页打印3份:

ActiveWorkbook.PrintOut From:=2 To 5 Copies:=3 示例2:生成、保存、关闭工作簿 Dim VBExcel As Excel.Application Set VBExcel== CreateObject(”Excel.Application“)With VBExcel.Workbooks.Add With ActiveWorkbook.Save As”C: Temp OUTPUT.XLS“.Close

End With.Quit End With

2、使用工作表

Sheets集合表示工作簿中所有的工作表。可以通过Sheets集合来访问、激活、增加、更名和删除工作表。一个Worksheet对象代表一个工作表。

常用的属性、方法有: 属性、方法 意义

Worksheets属性 返回Sheets集合。Name属性 工作表更名。

Add方法 创建新工作表并将其添加到工作簿中。Select方法 选择工作表。Copy方法 复制工作表。

Move方法 将指定工作表移到工作簿的另一位置。Delete方法 删除指定工作表。PrintOut方法 打印工作表。

示例3:将C盘工作簿中的工作表复制到A盘工作簿中: Dim VBExcel As Excel.Application Set VBExcel=CreateObject(”Excel.Application“)With VBExcel.Workbooks.Open ”C:TempOUTPUT.XLS“.Workbooks.Open”A:OUTPUT1.XLS“.Workbooks(”OUTPUT.XLS“).Sheets(”Sales“).Copy.Workbooks(”OUTPUT1.XLS).Workbooks(“OUTPUT1.XLS”).Save

.Workbooks(“OUTPUT.XLS”).Close.Workbooks(“OUTPUTI.XLS”).Close.Quit End With

3、使用单元范围

Range对象代表工作表的某一单元格、某一行、某一列、某一选定区域或者某一三维区域。常用的属性、方法有: 属性、方法 意义

Range属性 Range(arg)其中arg为A1--样式符号,表示单个单元格或单元格区域。Cells属性 Cells(row, col)(其中row为行号,col为列号)表示单个单元格。ColumnWidth属性 指定区域中所有列的列宽。Rowl3eight属性 指定区域中所有行的行宽。Value属性 指定区域中所有单元格的值(缺省属性)。Formula属性 指定单元格的公式,由A1--样式引用。Select方法 选择范围。

Copy方法 将范围的内容复制到剪贴板。C1earContents方法 清除范围的内容。Delete方法 删除指定单元范围。

4、使用图表

Chart对象代表工作簿中的图表。该图表既可为嵌人式图表(包含于ChartObject对象中)也可为分立的图表工作表。

常用方法有: 方法 意义

Add方法 新建图表工作表。返回Chart对象。PrineOut方法 打印图表。

ChartWizard方法 修改给定图表的属性,其语法为:

ChartWizard(Source, Gallery, Format, P1otBy, CategoryLabels, SeriesLabels, HasLegend, Title, CategoryTitle, ValueTitle, ExtraTitle)其中:

Source:包含新图表的源数据的区域。如省略,将修改活动图表工作表或活动工作表中处于选定状态的嵌人式图表。

Gallery:图表类型。其值可为下列常量之一:xlArea, x1Bar, xlColumn, xlLine, x1Pie, xlRadar,x1XYScatter, xlCombination, x13DArea, x13DBar、x13DColumn, x13DLine, x13DPie、x13 DSurface、xlDoughnut或xlDefaultAutoFormat。

Format:内置自动套用格式的编号。如省略,将选择默认值。P1otBy:指定系列中的数据是来自行(xlRows)还是列(xlColumns)。CategoryLabels:表示包含分类标志的源区域内行数或列数的整数。SeriesLabels:表示包含系列标志的源区域内行数或列数的整数。HasLegend:若指定True,则图表将具有图例。Title:图表标题文字。

CategoryTitle:分类轴标题文字。ValueTitle:数值轴标题文字。

ExtraTitle:三维图表的系列轴标题,或二维图表的第二数值轴标题。

可组合使用Add方法和ChartWizard方法,以创建包含工作表中数据的图表工作表。下例基于工作表“Sheetl”中单元格区域“A1:A20”中的数据生成新的折线图并打印。

With Charts.Add.ChartWizard source:=Worksheets(“sheet1”).Range(“a1:a20”),gallery:=xlLine, title:=“折线图表”

.Printout End With

5、使用Excel工作表函数

在VB语句中可使用大部分的Excel工作表函数,可通过WorksheetFunction对象调用Excel工作表函数。下面的Sub过程用Min工作表函数求出指定区域中单元格的最小值,并通过消息框显示结果值。

Sub UseFunction()Dim myRange As Range Set myRange=Worksheets(“Sheet1”).Range(“B2:F10”)answer=Application.WorksheetFunction.Min(myRange)MsgBox answer End Sub 如果使用以区域引用为参数的工作表函数,必须指定一个Range对象。如可用Match工作表函数对A1:A10区域的所有单元格进行搜索。

Sub FindFirst()my Var=Application.WorksheetFunction.Match(9, Worksheets(1).Range(“A1:A10”),0)MsgBox myVar End Sub 要在单元格中插人工作表函数,可将该函数指定为对应于Range对象的Formula属性值。在以下示例中,将当前工作簿Sheetl内A1:B3区域的Formula属性指定为RAND工作表函数(此函数产生二个随机数)。

Sub InsertFormula()Worksheets(“Sheet1”).Range(“A1:B3”).Formula=“RAND()” End Sub 以上简要介绍了Excel对象模型中部分对象及其属性和方法,更详细的信息可参阅Excel 2000帮助中的“Microsoft Excel Visual Basic参考”一节的内容。实际上,Microsoft Office家族的Word,PowerPoint, Access和Project等应用程序都可以在VB应用程序中调用,其原理和步骤完全相同,只是其对象模型有所不同而已。

----VB程序中直接调用Excel的格式如下:

Private Sub menudy_Click(Index As Integer)这是一个打印菜单 Select Case Index Case 0 On Error GoTo kung aaa = Shell(“D:Program FilesMicrosoft OfficeOfficeEXCEL.EXE c:cnglcngl.xls“, 1)Case 1 On Error GoTo kong 作为空表处理 aaa = Shell(“D:Program FilesMicrosoft OfficeOfficeEXCEL.EXE c:cnglcngly.xls”, 1)Case 3 Case 4 Case 5 End Select Exit Sub kung: aaa = Shell(“EXCEL.EXE c:cnglcngl.xls“, 1)Exit Sub kong: aaa = Shell(“EXCEL.EXE c:cnglcngly.xls”, 1)End Sub----由于Word97和Excel97等高版本的Office组件都有和VB 的接口:VB 编辑器,所以我们可以直接利用 VB 编辑器编写我们需要的程序。步骤如下:进入Excel97后,用鼠标点击菜单栏中的“工具”按钮,选择“宏”,再选择“VB 编辑器”。

----“VB编辑器”的编辑界面非常类似于“Visual Basic“的界面。我们可以从它的控件“工程资源管理器”中插入需要的“添加用户窗体、添加模块、添加类模块”,并且从“属性窗口”中加入属性。

----例如,我们可以制定一个打印窗体,通过程序来实现数据定位和循环调用打印过程。Public panduan As Boolean Private Sub CommandButton1_Click()change If panduan Then Unload Me Else TextBox1.Text = “” End If End Sub Sub change()If Not judgeday(TextBox1.Text)Then GoTo error panduan = True Dim sql As String Dim db As Database Dim rs As Recordset sql = “SELECT * From 数据表“ sql = sql + “ WHERE(((数据表.日期)= #” + TextBox1.Text + “#))“ Setdb =OpenDatabase(Application.ThisWorkbook.Path +“cngl.mdb”)Set rs = db.OpenRecordset(sql, dbOpenDynaset)If rs.EOF Then

MsgBox(“此日期无数据“)Exit Sub End If daima1 = rs.Fields(“代码”)Sheet1.Range(“e5“).Value = rs.Fields(“日期”)Sheet1.Range(“f7“).Value = rs.Fields(“数据表记录”)Sheet1.Range(“d13“).Value = rs.Fields(“整数100”)Sheet1.Range(“d15“).Value = rs.Fields(“整数50”)Sheet1.Range(“d17“).Value = rs.Fields(“整数10”)Sheet1.Range(“d19“).Value = rs.Fields(“整数5”)Sheet1.Range(“d21“).Value = rs.Fields(“整数2”)Sheet1.Range(“d23“).Value = rs.Fields(“整数1”)Sheet1.Range(“h13“).Value = rs.Fields(“其他100”)Sheet1.Range(“h15“).Value = rs.Fields(“其他50”)Sheet1.Range(“h17“).Value = rs.Fields(“其他10”)Sheet1.Range(“h19“).Value = rs.Fields(“其他5”)Sheet1.Range(“h21“).Value = rs.Fields(“其他2”)Sheet1.Range(“h23“).Value = rs.Fields(“其他1”)Sheet1.Range(“d37“).Value = Sheet1.Range(“d13”).Value * 100 + Sheet1.Range(“d15“).Value * 50 + Sheet1.Range(“d17”).Value * 10 + Sheet1.Range(“d19“).Value * 5 + Sheet1.Range(“d21”).Value * 2 + Sheet1.Range(“d23“).Value Sheet1.Range(“h37”).Value = Sheet1.Range(“h13“).Value * 100 + Sheet1.Range(“h15”).43

Value * 50 + Sheet1.Range(“h17“).Value * 10 + Sheet1.Range(“h19”).Value * 5 + Sheet1.Range(“h21“).Value * 2 + Sheet1.Range(“h23”).Value Dim sql1 As String Dim db1 As Database Dim rs1 As Recordset sql1 = “SELECT * From 代码字典“ sql1 = sql1 + “WHERE(((代码字典.代码)= ” & daima1 & “))“ Setdb1 =OpenDatabase(Application.ThisWorkbook.Path + “cngl.mdb”)Set rs1 = db1.OpenRecordset(sql1, dbOpenDynaset)Sheet1.Range(“h41“).Value = rs1.Fields(“代码字典名称”)Exit Sub error: MsgBox(“日期输入错误“)panduan = False End Sub Private Sub TextBox1_Change()End Sub Private Sub UserForm_Activate()dyxjkc.Top = 30 dyxjkc.Left = 230 End Sub----具体的表格画线可以由Excel自动完成,因此简化了VB 编程的步骤,并且节约调试程序和画线定

位的时间。

这两天编了一个程序,基本功能是从自动站B文件(ACCESS数据库文件)查询当月的日数据生成月简表,调出数据很好实现,程序的核心源码是把这些数据写入一个Excel模板中,这是我以前就想学会的一个功能,但没有好好去找资料,为编这个程序在网上查找了一些资料,只用一小段代码就实现了把数据写入Excel模板中的功能,下面是基本源码,后面附几篇用VB控制的文章,希望对大家有益。(如果大家感兴趣的话,我可以把那个从自动站中调用数据并形成日数据EXCEL文件的源码发上来)

Dim exl As New Excel.Application Dim book As New Excel.Workbook Dim sheet As New Excel.Worksheet '先使用excel制作一个模板

Set book = exl.Workbooks.Open(”你制作的excel的路径“)Set sheet = book.Worksheets(1)'在excel的格子中写入你想打印的内容 With sheet.Cells(Row, col)= ”“ End With sheet.PrintOut book.Close Set book = Nothing exl.Quit Set exl = Nothing 45

Excel、Access、VB的结合应用

----微软公司的Office系列办公软件相信已是众所周知,其中Excel强大的统计制表功能、Access功能完备的数据处理能力深受众多用户所喜爱。Visual Bsaic更是微软公司又一有力的产品,它简单易学,在Windows编程中的应用十分广泛。本文通过介绍数据处理及复杂表格的打印,来讨论VB与Excel及Access的结合运用。

----由于笔者所在的公司员工众多,在进行职工养老保险缴费的计算工作时,若使用劳动局编制的软件(用Foxbase编写),无论是在管理或维护方面均显得力不从心。于是在公司领导的强烈要求下,决定由笔者构思重新编制。基本思路是:1.将所有员工资料输入Access进行处理,以便于维护。2.在Excel中预先制成有表头的空表(Access相对欠缺处理复杂表格的能力),对需要进行金额汇总或其他运算的单元格可直接输入公式。3.在VB中编写程序代码,从Access中提取数据填入Excel对应表格相应的单元格,并输出至打印机。

----部分窗体及源程序代码如下:----1.程序主模块

----定义Excel、Access对象变量,显示系统启动画面,进入系统主程序界面。强调一下,在编写程序之前须加入对Excel及Access库函数的引用,具体操作是:选择菜单栏'工程''引用„',将'可使用的引用'列表框内'Microsoft Access 8.0 Object Library'和 'Microsoft Excel 8.0 Object Library'两项前的复选框标为选中,按”确定“返回。

mdsMain.bas '定义数据库记录集及Excel对象变量 Public ex As New Excel.Application Public exwbook As Excel.Workbook Public exsheet As Excel.Worksheet Public mydatabase As Database Public myrecordset1 As Recordset [定义记录集]

„„ „„

Public Opt As Integer '报表选项 [Opt为frmSelreport.frm返回值] Public isYN As Boolean Sub Main()Load frmSplash frmSplash.Show frmSplash.Label2.Caption = ” 系统正在加载Access数据库...“ Set mydatabase = OpenDatabase(”c:sbdasbda.mdb“)Set myrecordset1 = mydatabase.OpenRecordset(”报表打印(一)“)[此处对记录集赋值] „„ „„

frmSplash.Label2.Caption = ” 系统正在加载Excel电子表格...“ Set ex = CreateObject(”excel.application“)Set exwbook = ex.Workbooks.Open(”c:sbdasbda.xls“)Load FrmInput '将数据输入窗体加载到内存中 Unload frmSplash Load FrmMain'将主程序界面加载到内存中 End Sub----2.报表打印模块

----其中ExcelDoForVB1()是一子程序,由prnProess()调用,作用是从Access中提取所需数据资料,填入Excel对应工作表(Worksheet)的相应单元格(Cells)中,然后打印已填入数据的表格;prnProess()则负责实现对VB通用对话框(Commom Dialog)中打印功能的控制。

mdlPrint.bas Option Explicit '定义循环计数变量

Public nRow As Integer, nCol As Integer, nBtoE As Integer '定义变量接收打印对话框返回值 Public BeginPage, EndPage, NumCopies '程序运行时需进行判断的各种标志 Public nflag, Flag, ifNum '数据记录集中指针移动数

Public PageN As Integer, n As Integer 'bar1为进度条 Public bar1 As Object Sub prnProess()'控制通用对话框打印功能

Set bar1 = FrmPrint.PgsBar1 '进度条 On Error GoTo errhandle: If Flag = 0 Then '当打印对话框中选”全部“时 Select Case Opt'选择需要打印的表格 Case 1 nflag = 1 myrecordset1.MoveFirst

myrecordset1.MovePrevious PageN = 1 Do While nflag = 1 Call ExcelDoForVB1 '数据填入Excel单元格打印 PageN = PageN + 1 Loop Case 2 „„ „„ End Select Else If Flag = 2 Then' 当打印对话框中选”页"时

If EndPageBeginPage > 0 Then ifNum = 1 Else ifNum = 2 End If End If Select Case ifNum Case 2

Exit Sub Case 0 Select Case Opt ' 选择需要打印的表格 Case 1 myrecordset1.MoveFirst n =(BeginPage4 + 1)1)*(491 myrecordset1.Move n PageN = BeginPage

下载EXCEL VBA工作表操作全能方法小结word格式文档
下载EXCEL VBA工作表操作全能方法小结.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    新高考新操作工作小结

    2011届新高考新操作工作小结 一、已完成的工作 1、 新高考改革的政策进行广泛、多种形式的宣传,已深入学生、家长心中。 2、 高考网上报名工作已于12月顺利完成。 3、 高考电......

    建立Excel 2000工作表及其操作教案

    教案主题:Excel 2000数据输入及函数和公式的使用 系科:数学与计算机科学学院专业班级:计算机科学与技术六班姓名:朝阳学号:任课教师: 二〇〇八年五月二十一日 Excel 2000数据输入......

    Oracle05表操作和约束(范文模版)

    一、 DDL数据定义语言 1. 创建表:create table 表名要求: 1.必须以字母开头 2.必须在1-30个字符之间 3.必须只能包含A-Z,a-z,0-9,$,_,# 4.必须不能和用户定义的其他对象重名 5......

    操作数据库小结

    一.查询操作 对数据进行查询操作时,有两种情况:一是查询单个值,二是 查询若干条记录。 1、 查询单个值 需要使用Command对象的ExecuteScalar()方法:步骤如下: (1)、创建Connection对象......

    运行操作小结

    T-101隔油池 5格两头小中间大,格间水流做上下逐级流动。2个进水口,分别在第1、3格,做了个超滤管到第三格一般情况下都是进第一格。油主要集中在1、2格。1、来水带油且较多; 2、......

    2009三季度操作小结

    2011年操作运动会总结 为迎接新公司成立以来第一届操作运动会的召开,根据公司选拔工作安排,我车间做了相应具体部署。首先,成立操作比武领导小组,召开职能人员会议宣传,并通......

    初定专业技术资格表工作小结

    自2008年11月从事技术助理工作至今,在这段时间里,学到了很多以前书本中没有接触到的知识。工作以来,在单位领导及同事们的帮助下圆满完成了各项工作,通过自身的不断努力,无论是思......

    各种工作分析方法的优缺点及适用范围比较表

    各种工作分析方法的优缺点及适用范围比较表 1、 访谈法 优点:简单、有效;访谈的过程是一个双向沟通的参与性;不仅能了解到工作本身的信息,还能了解工作者的工作态度与工作动机等......