欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    VBA常用代码(44页).doc

    • 资源ID:35028264       资源大小:42KB        全文页数:45页
    • 资源格式: DOC        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    VBA常用代码(44页).doc

    -VBA编程常用代码用过VB的人都应该知道如何声明变量,在VBA中声明变量和VB中是完全一样的!使用Dim语句Dim a as integer '声明a为整型变量Dim a '声明a为变体变量Dim a as string '声明a为字符串变量Dim a as currency ,b as currency ,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_trimmsgbox Trim(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"赋到sheet2 的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给活动工作表改名为 "liu"ActiveSheet.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 WithWith 语句With 对象.描述End With清除单元格ActiveCell.Clear '删除所有文字、批注、格式返回选定区域的行数MsgBox Selection.Rows.Count返回选定区域的列数MsgBox Selection.Columns.Count返回选定区域的地址Selection.Address忽略所有的错误ON ERROR RESUME NEXT遇错跳转on error goto err_handle'中间的其他代码err_handle: ' 标签'跳转后的代码删除一个文件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 inputbox<输入框>XX=InputBox ("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 kk1 excle快捷键大全 对工具栏进行操作的快捷键激活菜单栏,F10,Alt 选定前一个或下一个工具栏,Ctrl+Tab或Ctrl+Shift+Tab 选定工具栏中的下一个或前一个按钮或菜单,Tab或Shift+Tab(当某个工具栏被激活时) 打开选定的菜单,Enter 运行选按钮的操作,Enter 在选定的文本框中输入文本,Enter 在对话框中使用的快捷键 取消当前任务,Esc 单击相应命令,Alt+下划线字母 单击选定的按钮,Enter 在选项中前移,Tab 在选项后移,Shift+Tab 在选项卡中前移,Ctrl+Tab 在选项卡中后移,Ctrl+Shift+Tab 刷新“另存为”或“打开”对话框,F5 插入、删除和复制选定区域的快捷键 复制选定区域,Ctrl+C 粘贴选定区域,Ctrl+V 剪切选定区域,Ctrl+X 清除选定区域的内容,Delete 插入空白单元格,Ctrl+Shift+加号 删除选定区域,Ctrl+- 撤消最后一次操作,Ctrl+Z 使用“office助手”需要用到的快捷键 关闭“office助手”提供的消息,Esc 通过“office助手”获取帮助信息,F1 显示下一项提示,Alt+N 显示前一项提示,Alt+B 在向导中显示或隐藏“office助手”,空格键 对窗口进行操作的快捷键 切换到下一个程序,Alt+Tab 切换到前一个程序,Alt+Shift+Tab 显示windwos“开始”菜单,Ctrl+Esc 关闭活动工作薄窗口,Ctrl+W 恢复活动工作薄窗口,Ctrl+F5 切换到下一个工作薄窗口,Ctrl+F6 切换到前一个工作薄窗口,Ctrl+Shift+F6 执行“移动”命令(菜单栏中的工作薄图标菜单),Ctrl+F7 运行“大小”命令(菜单栏中的工作薄图标菜单),Ctrl+F8 将工作薄窗口最小化为图标,Ctrl+F9 最大化或恢复工作薄窗口,Ctrl+F10 在“打开”或“另存为”对话框中更新可见的文件,F5 使用对话框进行操作的快捷键 切换到对话框中的下一个选项卡,Ctrl+Tab或Ctrl+PageDown 切换到对话框中的前一个选项卡,Ctrl+Shift+Tab或Ctrl+PageUp 移动到下一个选项或选项组,Tab 移动到前一个选项或选项组,Shift+Tab 在活动下拉列表框的选项间移动,或在选项组选项间移动,方向键 招待活动按钮的操作,或选定或清除当前复选框,空格键 取消命令或关闭对话框,Esc 在文本框中进行操作的快捷键 移动到内容的开始,Home 移动到内容的最后,End 向左或向右移动一个字符,左右方向键 向左或向右移动一个字,Ctrl+左右方向键 选定从插入点到开始的输入内容,Shift+Home 选定从插入点到最后的输入内容,Shift+End 选定或取消左面的一个字符,Shift+左方向键 选定或取消右面的一个字符,Shift+右方向键选定或取消左面的一个字,Ctrl+Shift+左方向键 选定或取消右面的一个字,Ctrl+Shift+右方向键 在工作表和工作薄中选定单元格、列、行或对象的快捷键 选定当前单元格周围的区域,Ctrl+Shift+*(星号) 将选定区域扩展一个单元格宽度,Shift+方向键 将选定区域扩展到与活动单元格同一行或同一列的最后一个非空白单元格,Ctrl+Shift+方向键 将选定区域扩展到行首,Shift+Home 将选定区域扩展到工作表的开始,Ctrl+Shift+Home 将选定区域扩展到工作表的最后一个包含数据的单元格,Ctrl+Shift+End 选定整列,Ctrl+空格键 选定整行,Shift+空格键 选定整个工作表,Ctrl+A 若已选定多个单元格,则只选定其中的活动单元格,Shift+Backspace 将选定区域向下扩展一屏,Shift+PageDown 将选定区域向上扩展一屏,Shift+PageUp 在选定一个对象时,选定工作表上的所有对象,Ctrl+Shift+空格键 在隐藏对象、显示对象与对象占位符之间切换,Ctrl+6 显示或隐藏“常用”工具栏,Ctrl+7 分级显示数据的快捷键 取消行或列分组,Alt+Shift+左方向键 对行或列分组,Alt+Shift+右方向键 显示或隐藏分级显示符号,Ctrl+8 隐藏选定行,Ctrl+9 取消隐藏选定行,Ctrl+Shift+( 隐藏选定列,Ctrl+0 取消隐藏选定列,Ctrl+Shift+) 编辑单元格的快捷键 完成单元格输入,Enter 取消单元格输入,Esc 重复单元格一次操作,F4或Ctrl+Y 在单元格中折行,Alt+Enter 删除插入点左边的字符或删除选定区域,Backspace 删除插入点右边的字符或删除选定区域,Delete 向上下左右移动一个字符,方向键 移到行首,Home 移到行尾,End 编辑单元格批注,Shift+F2 由行或列标志创建名称,Ctrl+Shift+F3 向下填充,Ctrl+D 向右填充,Ctrl+R 用当前输入项填充选定的单元格区域,Ctrl+Enter 完成单元格输入并在选定区域中下移,Enter 完成单元格输入并在选定区域中上移,Shift+Enter 完成单元格输入并在选定区域中右移,Tab 完成单元格输入并在选定区域中左移,Shift+Tab 在单元格或编辑栏中使用的快捷键 键入公式,=(等号) 取消单元格或编辑栏中的输入项,Esc 编辑当前单元格,F2 编辑活动单元格并清除其内容,或在编辑时删除前一个字符,Backspace 将名称粘贴到公式中,F3 定义名称,Ctrl+F3 计算所有打开工作薄中的所有工作表,F9 计算活动工作表,Shift+F9 输入“自动求和”公式,Alt+=(等号) 输入日期,Ctrl+; 输入时间,Ctrl+Shift+: 插入超级链接,Ctrl+K 完成单元格输入,Enter 将当前单元格上方单元格中的数值复制到当前单元格或编辑栏,Ctrl+Shift+(双引号) 将当前单元格上方单元格中的公式复制到当前单元格或编辑栏,Ctrl+'(单引号) 在显示单元格值与单元格公式间转换,Ctrl+(撇号) 输入数组公式,Ctrl+Shift+Enter 键入有效函数名后,显示公式选项板,Ctrl+A 键入有效函数名后,为该函数插入变量名和括号,Ctrl+Shift+A 显示“记忆式键入”列表,Ctrl+下方向键 快捷键与数据格式设置 显示“样式”命令,Alt+'(单引号) 显示“单元格”命令,Ctrl+1 应用常规数字格式,Ctrl+Shift+ 应用带两个小数位的“贷币”格式,Ctrl+Shift+$ 应用不带小数位的“百分比”格式,Ctrl+shift+% 应用带两个小数位的“科学记数”数字格式,Ctrl+shift+ 应用年月日“日期”格式,Ctrl+shift+# 应用小时和分钟“时间”格式,并表明上午或下午,Ctrl+shift+ 应用外边框,Ctrl+shift+& 取消选定单元格区域中的所有边框,Ctrl+shift+_ 应用或取消字体加粗格式,Ctrl+B 应用或取消字体倾斜格式,Ctrl+I 应用或取消字体下划线格式,Ctrl+U 应用或取消删除线格式,Ctrl+5 隐藏行,Ctrl+9 取消隐藏行,Ctrl+Shift+( 隐藏列,Ctrl+0 取消隐藏列,Ctrl+Shift+)使用 Excel 2003 工作表的 VBA 示例 适用范围:Microsoft Office Excel 2003摘要:寻找能够为 Excel 工作表增加额外功能的宏。只需稍加练习,您就可以扩展这些程序,使其适合您自己的应用程序。 本页内容引言导出带有逗号和引号分隔符的文本文件计算包含公式、文本或数字的单元格数量使用 Saved 属性确定工作簿是否已发生更合并数据列数组中的总行数和总列数结论引言本文介绍几个 Microsoft Visual Basic for Applications (VBA) 宏,您可以使用这些宏为 Microsoft Office Excel 2003 工作簿和工作表增加额外的功能。这些宏将为您的应用程序提供新的功能或增强现有的功能。阅读示例的同时,您应该寻找扩展这些宏的方法,以适合您自己的情况。导出带有逗号和引号分隔符的文本文件Excel 没有自动将数据导出为文本文件的菜单命令,因此导出的文本文件同时带有逗号和引号分隔符。例如,没有命令能自动创建包含以下内容的文本文件:"Text1","Text2","Text3"但是,您可以使用 VBA 宏在 Excel 中创建该功能。这种文件格式是在诸如 Microsoft Office Access 2003 和 Microsoft Office Word 2003 之类的应用程序中导入文本数据时常见的格式。您可以在如下所示的 VBA 宏中使用 Print 语句,导出同时带有逗号和引号分隔符的文本文件。要使该程序正常运行,必须在运行该程序之前选择包含数据的单元格。 使用以下示例之前,请执行以下步骤: 1. 打开一个新工作簿。 2. 在“工具”菜单中,指向“宏”,然后单击“Visual Basic 编辑器”(或者简单地按下 ALT+F11 组合键)。在“Visual Basic 编辑器”中,单击“插入”菜单,然后单击“模块”。 3. 将以下示例代码键入或粘贴到模块中:Sub QuoteCommaExport()Dim DestFile As StringDim FileNum As IntegerDim ColumnCount As IntegerDim RowCount As Integer' 提示用户指定目标文件名。DestFile = InputBox("Enter the destination filename" & _Chr(10) & "(with complete path and extension):", _"Quote-Comma Exporter")' 获取下一个可用的文件句柄编号。FileNum = FreeFile()' 关闭错误检查功能。On Error Resume Next' 尝试打开目标文件以供输出。Open DestFile For Output As #FileNum' 如果出现错误,则报告错误并结束程序。If Err <> 0 ThenMsgBox "Cannot open filename " & DestFileEndEnd If' 打开错误检查功能。On Error GoTo 0' 循环选择的每一行。For RowCount = 1 To Selection.Rows.Count' 循环选择的每一列。For ColumnCount = 1 To Selection.Columns.Count' 将当前单元格中的文本写入到文件中,文本用引号括起来。Print #FileNum, """" & Selection.Cells(RowCount, _ColumnCount).Text & """"' 检查单元格是否位于最后一列。If ColumnCount = Selection.Columns.Count Then' 如果是,则写入一个空行。Print #FileNum,Else' 否则,则写入一个逗号。Print #FileNum, ","End If' 开始 ColumnCount 循环的下一个迭代。Next ColumnCount' 开始 RowCount 循环的下一个迭代。Next RowCount' 关闭目标文件。Close #FileNumEnd Sub4. 运行该宏之前,请选择要导出的数据,然后在“工具”菜单中指向“宏”并单击“宏”。 5. 选择 QuoteCommaExport 宏,然后单击“运行”。 计算包含公式、文本或数字的单元格数量在 Excel 中,您可以对包含公式、文本或数字的工作表中的单元格数量进行计算,方法是使用“定位条件”对话框选择单元格,然后运行计算所选单元格数量的宏。例如,当您需要设置表格以确定合计列的每一行是否都包含公式而不用手动检查每一行时,此方法可能很有用。选择单元格要选择公式、文本或数字,请执行以下步骤: 1. 在“编辑”菜单中,单击“定位”,然后单击“定位条件”。 2. 在“定位条件”对话框中,要选择所有公式,请单击“公式”并确保选中“数字”、“文本”、“逻辑值”以及“错误”复选框。要选择文本,请选择“常量”选项,然后仅单击并选中“文本”复选框。要选择数字,请选择“常量”选项,然后仅单击并选中“数字”复选框。 计算所选单元格数量的 VBA 代码要计算所选的单元格数量并在消息框中显示计算结果,请使用以下程序:Sub Count_Selection()Dim cell As ObjectDim count As Integercount = 0For Each cell In Selectioncount = count + 1Next cellMsgBox count & " item(s) selected"End Sub您可以将此程序指定给一个命令按钮,这样,当您单击该按钮时,将显示所选项的数量。使用 Saved 属性确定工作簿是否已发生更改 可以通过检查工作簿的 Saved 属性来确定工作簿是否已发生更改。根据工作簿是否发生了更改,Saved 属性将返回 True 或 False 值。 注意:用户除了可以通过“事件”设置 Saved 属性外,还可以通过代码将其设置为 True 或 False。本节包含的示例宏说明了如何在这两种情况下使用 Saved 属性。工作表中的各种情况(例如存在可变函数)都可能会影响 Saved 属性。可变函数是指工作表中每次发生更改时都会重新计算的函数,而不管发生的更改是否影响到这些函数。某些常见的可变函数包括 RAND()、NOW()、TODAY() 和 OFFSET()。如果活动工作簿包含未保存的更改,第一个宏将显示如下消息:Sub TestForUnsavedChanges()If ActiveWorkbook.Saved = False ThenMsgBox "This workbook contains unsaved changes."End IfEnd Sub下一个宏将关闭包含示例代码的工作簿并放弃对工作簿所做的所有更改:Sub CloseWithoutChanges()ThisWorkbook.Saved = TrueThisWorkbook.CloseEnd Sub下面的示例宏也将关闭工作簿并放弃更改:Sub CloseWithoutChanges()ThisWorkbook.Close SaveChanges:=FalseEnd Sub合并数据列 在 Excel 中,可以使用宏合并两个相邻列中的数据并在包含数据的右侧列中显示结果,完全不需要手动设置公式。本节包含的示例宏就可以实现此功能。Sub ConcatColumns()Do While ActiveCell <> "" ' 一直循环,直到活动单元格为空。ActiveCell.Offset(0, 1).FormulaR1C1 = _ActiveCell.Offset(0, -1) & " " & ActiveCell.Offset(0, 0)ActiveCell.Offset(1, 0).SelectLoopEnd Sub要使用宏,请执行以下步骤:1. 打开包含数据的工作簿。 2. 按 ALT+F11 组合键激活“Visual Basic 编辑器”。 3. 在“插入”菜单中,单击“模块”以插入一个模块。在模块的代码窗口中键入上面的宏。 4. 单击“文件”菜单中的“关闭并返回到 Microsoft Excel”。 5. 选择包含要合并的数据的工作表。 6. 单击要合并的右侧数据列的第一个单元格。例如,如果单元格 A1:A100 和 B1:B100 包含数据,则单击单元格 B1。 7. 在“工具”菜单中,指向“宏”并单击“宏”。选择 ConcatColumns 宏并单击“运行”。 注意:可以用语句 ActiveCell.Offset(0, 1).Formula 替换语句 ActiveCell.Offset(0, 1).FormulaR1C1。如果仅使用文本和数字(不包含公式),那么两个语句的效果相同。第一个语句末尾使用的 R1C1 表示第一行的第一列,这是 Excel 帮助主题中大多数示例使用的形式。数组中的总行数和总列数在 Excel 中,可以使用数组来计算和操作工作表中的数据,还可以使用宏将某个范围内的单元格中的值存储到一个数组中。本节中的示例宏代码将在一个矩形单元格区域中添加一行和一列,以包含该区域中每一行和每一列中的单元格总数。具体的步骤是,代码从活动工作表上活动单元格周围的当前单元格区域中读取数据。宏将这些数据存储在一个数组中,计算每一行和每一列中的单元格总数,然后将输出显示在工作表中。数组的大小由当前区域中的单元格数量决定。 注意:此宏不会在工作表中添加任何公式,因此如果该范围内的单元格总数有变化,则必须重新运行宏。使用以下示例之前,请执行以下步骤: 1. 打开一个新工作簿。 2. 在“工具”菜单中,指向“宏”,然后单击“Visual Basic 编辑器”(或者简单地按下 ALT+F11 组合键)。在“Visual Basic 编辑器”中的“插入”菜单中,单击“模块”。 将以下示例代码键入或粘贴到模块中:Sub TotalRowsAndColumns()' 此宏假定您已从' 要计算单元格总数的矩形区域内' 选择了一个单元格或一组单元格。行和列的单元格总数将出现在' 当前区域下面的行和右侧的列中。Dim r As IntegerDim c As IntegerDim i As IntegerDim j As IntegerDim myArray As Variant' 将 myArray 声明为变量将使数组可以接收' 一组单元格。此时,数组将自动转换为' 以下标 myArray(1,1) 开始的数组。' 指当前所选单元格周围的区域。With Selection.CurrentRegionr = .Rows.Countc = .Columns.Count' 重新计算总行数和总列数并将结果存储到数组中。myArray = .Resize(r + 1, c + 1)' 在下面的嵌套循环中,变量 i 跟踪' 行号,变量 j 跟踪' 列号。j 在可用列中每循环一次,' i 就递增一,而 j' 则重新从一到 c 循环一次。For i = 1 To rFor j = 1 To c' 行 i 的总数myArray(i, c + 1) = myArray(i, c + 1) + myArray(i, j)' 列 j 的总数myArray(r + 1, j) = myArray(r + 1, j) + myArray(i, j)' 总计myArray(r + 1, c + 1) = myArray(r + 1, c + 1) + myArray(i, j)Next jNext i' 将数组返回工作表,数组中现在包含一个' 新行和一个新列,用于存储总数。.Resize(r + 1, c + 1) = myArrayEnd WithEnd Sub3. 突出显示要求和区域中的一个单元格,在“工具”菜单中,指向“宏”并单击“宏”。 4. 选择 TotalRowsAndColumns 宏,然后单击“运行”。 注意:要执行与本示例中的运算类似的运算,可以修改宏代码。例如,要对选定范围内的单元格中包含的值进行减法、乘法或除法运算,可以更改数学运算符。结论本文介绍了各种 VBA 宏,使用这些宏可以减少使用工作表所需的工作量。此外,您还可以修改本文介绍的大多数宏以扩展它们的功能。始终记住可以在工具或提示库中添加更多宏,您将会受益匪浅。VBA系列讲座(1):VBA是什么? 1.1 VBA是什么 直到90年代早期,使应用程序自动化还是充满挑战性的领域.对每个需要自动化的应用程序,人们不得不学习一种不同的自动化语言.例如:可以用EXCEL的宏语言来使EXCEL自动化,使用WORD BASIC使WORD自动化,等等.微软决定让它开发出来的应用程序共享一种通用的自动化语言-Visual Basic For Application(VBA),可以认为VBA是非常流行的应用程序开发语言VASUAL BASIC 的子集.实际上VBA是"寄生于"VB应用程序的版本.VBA和VB的区别包括如下几个方面: 1. VB是设计用于创建标准的应用程序,而VBA是使已有的应用程序(EXCEL等)自动化 2. VB具有自己的开发环境,而VBA必须寄生于已有的应用程序. 3. 要运行VB开发的应用程序,用户不必安装VB,因为VB开发出的应用程序是可执行文件(*.EXE),而VBA开发的程序必须依赖于它的"父"应用程序,例如EXCEL. 尽管存在这些不同,VBA和VB在结构上仍然十分相似.事实上,如果你已经了解了VB,会发现学习VBA非常快.相应的,学完VBA会给学习VB打下坚实的基础.而且,当学会在EXCEL中用VBA创建解决方案后,即已具备在WORD ACCESS OUTLOOK FOXPRO PROWERPOINT 中用VBA创建解决方案的大部分知识. * VBA一个关键特征是你所学的知识在微软的一些产品中可以相互转化. * VBA可以称作EXCEL的“遥控器”. VBA究竟是什么?更确切地讲,它是一种自动化语言,它可以使常用的程序自动化,可以创建自定义的解决方案. 此外,如果你愿意,还可以将EXCEL用做开发平台实现应用程序. 1.2 EXCEL环境中基于应用程序自动化的优点 也许你想知道VBA可以干什么?使用VBA可以实现的功能包括: 1. 使重复的任务自动化. 2. 自定义EXCEL工具栏,菜单和界面. 3. 简化模板的使用. 4. 自定义EXCEL,使其成为开发平台. 5. 创建报表. 6. 对数据进行复杂的操作和分析. 用EXCEL作为开发平台有如下原因: 1. EXCEL本身功能强大,包括打印,文件处理,格式化和文本编辑. 2. EXCEL内置大量函数. 3. EXCEL界面熟悉. 4. 可连接到多种数据库. 用其他语言开发应用程序,一半的工作是编写一些基本功能的模块,包括文件的打开和保存,打印,复制等.而用EXCEL作为开发平台,则由于EXCEL已经具备这些基本功能,你要做的只是使用它. 1.3 录制简单的宏 在介绍学习VBA之前,应该花几分钟录制一个宏。 新术语:“宏”,指一系列EXCEL能够执行的VBA语句。 以下将要录制的宏非常简单,只是改变单元格颜色。请完成如下步骤: 1)打开新工作簿,确认其他工作簿已经关闭。 2)选择A1单元格。调出“常用”工具栏。 3)选择“工具”“宏”“录制新宏”。 4)输入“改变颜色”作为宏名替换默认宏名,单击确定,注意,此时状态栏中显示“录制”,特别是“停止录制”工具栏也显示出来。替换默认宏名主要是便于分别这些宏。 宏名最多可为255个字符,并且必须以字母开始。其中可用的字符包括:字母、数字和下划线。宏名中不允许出现空格。通常用下划线代表空格。 5)选择“格式”的“单元格”,选择“图案”选项中的红色,单击“确定”。 6)单击“停止录制”工具栏按钮,结束宏录制过程。 如果“停止录制”工具栏开始并未出现,请选择“工具”“宏”“停止录制”。 录制完一个宏后就可以执行它了。 1.4 执行宏 当执行一个宏时,EXCEL按照宏语句执行的情况就像VBA代码在对EXCEL进行“遥控”。但VBA的“遥控”不仅能使操作变得简便,还能使你获得一些使用EXCEL标准命令所无法实现的功能。而且,一旦熟悉了EXCEL的“遥控”,你都会奇怪自己在没有这些“遥控”的情况下,到底是怎么熬过来的。要执行刚才录制的宏,可以按以下步骤进行: 1)选择任何一个单元格,比如A3。 2)选择“工具”“宏”“宏”,显示“宏”对话框。 3)选择“改变颜色”,选择“执行”,则A3单元格的颜色变为红色。试着选择其它单元格和几个单元格组成的区域,然后再执行宏,以便加深印象。 1.5 查看录制的代码 到底是什么在控制EXCEL的运行呢?你可能有些疑惑.好,让我们看看VBA的语句吧. 1)选择“工具”“宏”“宏”,显示“宏”对话框。 2)单击列表中的“改变颜色”,选择“编辑”按钮。 此时,会打开VBA的编辑器窗口(VBE)。关于该编辑器,以后再详细说明,先将注意力集中到显示的代码上。代码如下:(日期和姓名会有不同) Sub 改变颜色() 改变颜色 Macro xw 记录的宏 2000-6-10 With Selection.Interior .ColorIndex = 3 .Pattern = xlSolid .PatternColorIndex = xlAutomatic End With End Sub 将来会十分熟悉这种代码,虽然现在它们看上去像一种奇怪的外语。学习VBA或编程语言在某种程度上比较像在学习一种外语。 Sub 改变颜色():这是宏的名称。 中间的以“ ”开头的五行称为“注释”,它在录制宏时自动产生。 以With 开头到End With 结束的结构是With结构语句,这段语句是宏的主要部分。注意单词“selection”,它代表“突出显示的区域”(即:选定区域)。With Selection.Interior :它读作“选择区域的的内部”.这整段语句设置该区域内部的一些“属性”。 其中: .ColorIndex = 3: 将该内部设为红色。注意:有一小圆点,它的作用在于简化语句,小圆点代替出现在With后的词,它是With结构的一部分。另外:红色被数字化为3.(红色警戒是否可称作:3号警戒,嗯?)有兴趣的话,你将3改为其他数字试试看。 .Pattern = xlSolid:设置该区域的内部图案。由于是录制宏,所以,虽然你并未设置这一项,宏仍然将其记录下来(因为在“图案”选项中有此一项,只是你为曾设置而已)。xlSolid表示纯色。 .PatternColorIndex = xlAutomatic:表示内部图案底纹颜色为自动配色。 End With:结束With 语句。 End Sub:整个宏的结束语

    注意事项

    本文(VBA常用代码(44页).doc)为本站会员(1595****071)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开