




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
精选文库Excel与VBA编程中的常用代码 用过VB的人都应该知道如何声明变量,在VBA中声明变量和VB中是完全一样的!使用Dim语句Dim a as integer 声明A为整形变量Dim a 声明A为变体变量Dim a as string 声明A为字符串变量Dim a,b,c as currency 声明A,b,c为货币变量.声明变量可以是:Byte、Boolean、Integer、Long、Currency、Single、Double、Decimal(当前不支持)、Date、String(只限变长字符串)、String * length(定长字符串)、Object、Variant、用户定义类型或对象类型。强制声明变量Option Explicit说明:该语句必在任何过程之前出现在模块中。-声明常数,用来代替文字值。Const 常数的默认状态是 Private。Const My = 456 声明 Public 常数。Public Const MyString = HELP 声明 Private Integer 常数。Private Const MyInt As Integer = 5 在同一行里声明多个常数。Const MyStr = Hello, MyDouble As Double = 3.4567 -在EXCEL97中,有一个十分好的功能,他就是把鼠标放置在一个有效数据单元格中,执行该段代码,你就可以将连在一起的一片数据全部选中。只要将该段代码加入到你的模块中。Sub My_SelectSelection.CurrentRegion.SelectEnd sub-删除当前单元格中数据的前后空格。sub my_trimTrim(ActiveCell.Value)end sub-使单元格位移sub my_offsetActiveCell.Offset(0, 1).Select当前单元格向左移动一格ActiveCell.Offset(0, -1).Select当前单元格向右移动一格ActiveCell.Offset(1 , 0).Select当前单元格向下移动一格ActiveCell.Offset(-1 , 0).Select当前单元格向上移动一格end sub如果上述程序产生错误那是因为单元格不能移动,为了解除上述错误,我们可以往sub my_offset 之下加一段代码 on error resume next-注意以下代码都不再添加 sub “代码名称” 和end sub请自己添加!给当前单元格赋值:ActiveCell.Value = 你好!给特定单元格加入一段代码:例如:在单元格中插入Range(a1).value=hello又如:你现在的工作簿在sheet1上,你要往sheet2的单元格中插入1.sheets(sheet2).selectrange(a1).value=hello或2.Sheets(sheet1).Range(a1).Value = hello说明:1.sheet2被打开,然后在将“HELLO放入到A1单元格中。2.sheet2不被打开,将“HELLO放入到A1单元格中。-隐藏工作表隐藏SHEET1这张工作表sheets(sheet1).Visible=False显示SHEET1这张工作表sheets(sheet1).Visible=True-有时候我们想把所有的EXCEL中的SHEET都打印预览,请使用该段代码,它将在你现有的工作簿中循环,直到最后一个工作簿结束循环预览。Dim my As WorksheetFor Each my In Worksheetsmy.PrintPreviewNext my-得到当前单元格的地址msgbox ActiveCell.Address-得到当前日期及时间msgbox date & chr(13) & time-保护工作簿ActiveSheet.Protect 取消保护工作簿ActiveSheet.Unprotect-给当前工作簿改名为 liuActiveSheet.Name = liu-打开一个应用程序AppActivate (Shell(C:WINDOWSCALC.EXE)-增加一个工作簿Worksheets.Add删除当前工作簿activesheet.delete-打开一个文件Workbooks.Open FileName:=C:My DocumentsBook2.xls关闭当前工作簿ActiveWindow.Close-当前单元格定为:左对齐Selection.HorizontalAlignment = xlLeft当前单元格定为:中心对齐Selection.HorizontalAlignment = xlCenter当前单元格定为:右对齐Selection.HorizontalAlignment = xlRight-当前单元格为百分号风格Selection.Style = Percent-当前单元格字体为粗体Selection.Font.Bold = True当前单元格字体为斜体Selection.Font.Italic = True当前单元格字体为宋体20号字With Selection.Font.Name = 宋体.Size = 20End With-With 语句With 对象.描述End With-让你的机器发出响声BEEP-清除单元格中所有文字、批注、格式、所有的东西!ActiveCell.Clear-测试选择状态的单元格的行数MsgBox Selection.Rows.Count测试选择状态的单元格的列数MsgBox Selection.Columns.Count-测试选择状态的单元格的地址Selection.Address-让所有的错误不再发生ON ERROR RESUME NEXT-产生错误时让错误转到另一个地方on error goto lcodel:code-删除一个文件kill c:1.txt-定制自己的状态栏Application.StatusBar = 现在时刻: & Time恢复自己的状态栏Application.StatusBar = false-在运行期执行一个宏Application.Run macro:=text-滚动窗口到a1的位置ActiveWindow.ScrollRow = 1ActiveWindow.ScrollColumn = 1-定制系统日期Dim MyDate, MyDayMyDate = #12/12/69#MyDay = Day(MyDate)-今天的年限Dim MyDate, MyYearMyDate = Date MyYear = Year(MyDate)MsgBox MyYear -产生一个inputboxInputBox (Enter number of months to add)-得到一个文件名:Dim kk As Stringkk = Application.GetOpenFilename(EXCEL (*.XLS), *.XLS, Title:=提示:请打开一个EXCEL文件:)msgbox kk-打开zoom对话框Application.Dialogs(xlDialogZoom).Show-激活字体对话框Application.Dialogs(xlDialogActiveCellFont).Show-打开另存对话框Dim kk As Stringkk = Application.GetSaveAsFilename(excel (*.xls), *.xls)Workbooks.Open kk-此段代码寻找字符串中特定字符的位置,需要建立一个窗体,并在窗体中,放入TEXTBOX1,TEXTBOX2和TEXTBOX3(3个文本框)及COMMANDBUTTON1(按钮),如下图所示:Private Sub CommandButton1_Click()a = TextBox1.Textb = TextBox2.Textaa = Len(a)i = 1Dim YY As StringIf b = Then Exit SubDoIf InStr(i, a, b, vbTextCompare) = 0 Then Exit Dokk = InStr(i, a, b, vbTextCompare)YY = YY & CStr(kk) & /i = kk + 1Loop While aa = iTextBox3.Text = YYEnd Sub* * 定制模块行为 * * Option Explicit 强制对模块内所有变量进行声明 Option Private Module 标记模块为私有,仅对同一工程中其它模块有用,在宏对话框中不显示 Option Compare Text 字符串不区分大小写 Option Base 1 指定数组的第一个下标为 1 On Error Resume Next 忽略错误继续执行 VBA代码,避免出现错误消息 On Error GoTo ErrorHandler 当错误发生时跳转到过程中的某个位置 On Error GoTo 0 恢复正常的错误提示 Application.DisplayAlerts=False 在程序执行过程中使出现的警告框不显示 Application.ScreenUpdating=False 关闭屏幕刷新 Application.ScreenUpdating=True 打开屏幕刷新 Application.Enable.CancelKey=xlDisabled 禁用 Ctrl+Break 中止宏运行的功能 Err.Clear 清除程序运行过程中所有的错误 * * 工作簿 * * Workbooks.Add() 创建一个新的工作簿 Workbooks(book1.xls).Activate 激活名为 book1的工作簿 ThisWorkbook.Save 保存工作簿 ThisWorkbook.close 关闭当前工作簿 ActiveWorkbook.Sheets.Count 获取活动工作薄中工作表数 ActiveW 返回活动工作薄的名称 ThisWorkbook.Name 返回当前工作簿名称 ThisWorkbook.FullName 返回当前工作簿路径和名称 ActiveWindow.EnableResize=False 禁止调整活动工作簿的大小 Application.Window.Arrange xlArrangeStyleTiled 将工作簿以平铺方式排列 ActiveWorkbook.WindowState=xlMaximized 将当前工作簿最大化 ThisWorkbook.BuiltinDocumentProperties(Last Save Time) 或 Application.Caller.Parent.Parent.BuiltinDocumentProperties(Last Save Time) 返回上次保存工作簿的日期和时间 ThisWorkbook.BuiltinDocumentProperties(Last Print Date) 或 Application.Caller.Parent.Parent.BuiltinDocumentProperties(Last Print Date) 返回上次打印或预览工作簿的日期和时间 Workbooks.Close 关闭所有打开的工作簿 ActiveWorkbook.LinkSources(xlExcelLinks)返回当前工作簿中的第一条链接 ActiveWorkbook.CodeName ThisWorkbook.CodeName 返回工作簿代码的名称 ActiveWorkbook.FileFormat ThisWorkbook.FileFormat 返回当前工作簿文件格式代码 ThisWorkbook.Path ActiveWorkbook.Path 返回当前工作簿的路径(注:若工作簿未保存,则为空) ThisWorkbook.ReadOnly ActiveWorkbook.ReadOnly 返回当前工作簿的读/写值(为 False) ThisWorkbook.Saved ActiveWorkbook.Saved 返回工作簿的存储值(若已保存则为 False) Application.Visible = False 隐藏工作簿 Application.Visible = True 显示工作簿 注:可与用户窗体配合使用,即在打开工作簿时将工作簿隐藏,只显示用户窗体.可设置控制按钮控制工作簿可见 * * 工作表 * * ActiveSheet.UsedRange.Rows.Count 当前工作表中已使用的行数 Rows.Count 获取工作表的行数(注:考虑向前兼容性) Sheets(Sheet1).Name= Sum 将 Sheet1命名为 Sum ThisWorkbook.Sheets.Add Before:=Worksheets添加一个新工作表在第一工作表前 ActiveSheet.Move After:=ActiveWorkbook. _ Sheets(ActiveWorkbook.Sheets.Count) 将当前工作表移至工作表的最后 Worksheets(Array(sheet1,sheet2).Select 同时选择工作表 1和工作表 2 Sheets(sheet1).Delete或 Sheets(1).Delete 删除工作表 1 ActiveWorkbook.Sheets(i).Name 获取工作表 i的名称 ActiveWindow.DisplayGridlines=Not ActiveWindow.DisplayGridlines 切换工作表中的网格线显示,这种方法也可以用在其它方面进行相互切换,即相当于开关按钮 ActiveWindow.DisplayHeadings=Not ActiveWindow.DisplayHeadings 切换工作表中的行列边框显示 ActiveSheet.UsedRange.FormatConditions.Delete 删除当前工作表中所有的条件格式 Cells.Hyperlinks.Delete 取消当前工作表所有超链接 ActiveSheet.PageSetup.Orientation=xlLandscape 或 ActiveSheet.PageSetup.Orientation=2 将页面设置更改为横向 ActiveSheet.PageSetup.RightFooter=ActiveWorkbook.FullName 在页面设置的表尾中输入文件路径 ActiveSheet.PageSetup.LeftFooter=Application.UserName 将用户名放置在活动工作表的页脚 ActiveSheet.Columns(B).Insert 在A 列右侧插入列,即插入 B 列 ActiveSheet.Columns(E).Cut ActiveSheet.Columns(B).Insert 以上两句将 E 列数据移至 B 列,原 B 列及以后的数据相应后移 ActiveSheet.Columns(B).Cut ActiveSheet.Columns(E).Insert 以上两句将 B列数据移至 D列,原 C列和 D列数据相应左移一列 ActiveSheet.Calculate 计算当前工作表 ThisWorkbook.Worksheets(sheet1).Visible=xlSheetHidden 正常隐藏工作表,同在 Excel 菜单中选择格式工作表隐藏操作一样 ThisWorkbook.Worksheets(sheet1).Visible=xlSheetVeryHidden 隐藏工作表,不能通过在 Excel 菜单中选择格式工作表取消隐藏来重新显示工作表 ThisWorkbook.Worksheets(sheet1).Visible=xlSheetVisible 显示被隐藏的工作表 ThisWorkbook.Sheets(1).ProtectContents 检查工作表是否受到保护 ThisWorkbook.Worksheets.Add Count:=2, Before:=ThisWorkbook.Worksheets(2) 或 ThisWorkbook.Workshees.Add ThisWorkbook.Worksheets(2), , 2 在第二个工作表之前添加两个新的工作表 ThisWorkbook.Worksheets(3).Copy 复制一个工作表到新的工作簿 ThisWorkbook.Worksheets(3).Copy ThisWorkbook.Worksheets复制第三个工作表到第二个工作表之前 ThisWorkbook.ActiveSheet.Columns.ColumnWidth = 20 改变工作表的列宽为 20 ThisWorkbook.ActiveSheet.Columns.ColumnWidth = ThisWorkbook.ActiveSheet.StandardWidth 将工作表的列宽恢复为标准值 ThisWorkbook.ActiveSheet.Columns(1).ColumnWidth = 20 改变工作表列 1的宽度为 20 ThisWorkbook.ActiveSheet.Rows.RowHeight = 10 改变工作表的行高为 10 ThisWorkbook.ActiveSheet.Rows.RowHeight = ThisWorkbook.ActiveSheet.StandardHeight 将工作表的行高恢复为标准值 ThisWorkbook.ActiveSheet.Rows(1).RowHeight = 10 改变工作表的行 1的高度值设置为 10 ThisWorkbook.Worksheets(1).Activate 当前工作簿中的第一个工作表被激活 ThisWorkbook.Worksheets(Sheet1).Rows(1).Font.Bold = True 设置工作表Sheet1中的行1数据为粗体 ThisWorkbook.Worksheets(Sheet1).Rows(1).Hidden = True 将工作表Sheet1中的行1隐藏 ActiveCell.EntireRow.Hidden = True 将当前工作表中活动单元格所在的行隐藏 注:同样可用于列。 ActiveSheet.Range(A:A).EntireColumn.AutoFit 自动调整当前工作表 A 列列宽 ActiveSheet.Cells.SpecialCells(xlCellTypeConstants,xlTextValues) 选中当前工作表中常量和文本单元格 ActiveSheet.Cells.SpecialCells(xlCellTypeConstants,xlErrors+xlTextValues) 选中当前工作表中常量和文本及错误值单元格* * 单元格/单元格区域 * * ActiveCell.CurrentRegion.Select 或 Range(ActiveCell.End(xlUp),ActiveCell.End(xlDown).Select 选择当前活动单元格所包含的范围,上下左右无空行 Cells.Select 选定当前工作表的所有单元格 Range(A1).ClearContents 清除活动工作表上单元格 A1中的内容 Selection.ClearContents 清除选定区域内容 Range(A1:D4).Clear 彻底清除 A1至 D4 单元格区域的内容,包括格式 Cells.Clear 清除工作表中所有单元格的内容 ActiveCell.Offset(1,0).Select 活动单元格下移一行,同理,可下移一列 Range(A1).Offset(ColumnOffset:=1)或 Range(A1).Offset偏移一列 Range(A1).Offset(Rowoffset:=-1)或 Range(A1).Offset向上偏移一行 Range(A1).Copy Range(B1) 复制单元格 A1,粘贴到单元格 B1中 Range(A1:D8).Copy Range(F1) 将单元格区域复制到单元格 F1开始的区域中 Range(A1:D8).Cut Range(F1) 剪切单元格区域 A1至 D8,复制到单元格 F1开始的区域中 Range(A1).CurrentRegion.Copy Sheets(Sheet2).Range(A1) 复制包含 A1 的单元格区域到工作表 2中以 A1起始的单元格区域中 注:CurrentRegion属性等价于定位命令,由一个矩形单元格块组成,周围是一个或多个空行或列ActiveWindow.RangeSelection.Value=XX 将值 XX 输入到所选单元格区域中 ActiveWindow.RangeSelection.Count 活动窗口中选择的单元格数 Selection.Count 当前选中区域的单元格数 GetAddress=Replace(Hyperlinkcell.Hyperlinks(1).Address,mailto:,) 返回单元格中超级链接的地址并赋值
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度安全防护栏杆设计与施工一体化协议
- 二零二五年度装配式建筑班组构件生产及施工合同
- 二零二五年度农家院休闲旅游租赁服务合同
- 2025版新能源设备租赁合同远期支付及退租协议
- 2025版电子产品分期购买与智能生活解决方案合同
- 2025版智慧城市道路施工合同操作指南
- 二零二五年度债权债务清收与追偿服务合同
- 2025至2030年中国角膜接触镜行业发展概况及行业投资潜力预测报告
- 2025版古董买卖双方物流运输及保险合同
- 二零二五年度照明灯具原材料供应与采购合同
- 锂电池生产企业事故综合应急预案
- 癌性伤口临床护理
- 船舶货物代理管理制度
- 云南省云南师大附中2026届高考适应性月考卷化学及答案(一)
- 监控中心保密管理制度
- 业务信息收集管理制度
- 人文护理病区管理制度
- 仓储物资管理制度
- 高中新班主任培训
- 《物流信息技术与应用》教学课件
- 国有大宗商品贸易企业的风险管理与策略研究
评论
0/150
提交评论