孤独的猫

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

引用 经典Excel VBA代码

2010-06-15 15:03:18|  分类: 默认分类 |  标签: |字号 订阅

本文引用自晗露《经典Excel VBA代码》

引用

晗露经典Excel VBA代码

经典Excel VBA代码 收藏

VBA基础在大家的关注声中即将告一段落了,有许多经典的VBA操作我们只是作了简要的介绍,想要熟练地使用VBA还需要大家慢慢地去消化和吸收,然后在实践中总结和提高。最后我们收集了常见的VBA代码以飨广大的读者,希望对大家有所启示。

 

ApplicationExcel程序)篇

view plaincopy to clipboardprint?

Application.EnableEvents= True/ False ’启用/禁用所有事件  

 

Application.DisplayAlerts=True/False ’显示/关闭警告框提示框  

 

Application.ScreenUpdating= True/False ’显示/关闭屏幕刷新  

 

Application.StatusBar = "软件报专用"   ’在地址栏中显示文本,标题栏用Caption属性  

 

Application.Cursor = xlIBeam   ‘设置光标形状为Ⅰ字形,xlWait为沙漏(等待)形,xlNormal为正常  

 

Application.WindowState = xlMinimized ‘窗口最小化,xlMaximized最大化,xlNormal为正常  

 

Application.ActivateMicrosoftApp xlMicrosoftWord ’开启Word应用程序  

 

Application.TemplatesPath ‘获取工作簿模板的位置  

 

Application.CalculateFull ’重新计算所有打开的工作簿中的数据  

 

Application.RecentFiles.Maximum = 2 ’将最近使用的文档列表数设为2  

 

Application.RecentFiles(3).Open ’打开最近打开的文档中的第3个文档  

 

Application.AutoCorrect.AddReplacement "sweek", "软件报"    ’自动将输入的"sweek"更正为"软件报" 

 

Application.Dialogs(xlDialogPrint).Show ‘显示打印文档的对话框  

 

Application.OnTime Now + TimeValue("00:00:45"), "process" 45分钟后执行指定过程  

 

Application.OnTime TimeValue("14:00:00"), " process "   ’下午2点执行指定过程  

 

Application.OnTime EarliestTime:=TimeValue("14:00:00"), _  

 

Procedure:="process", Schedule:=False    ’取消指定时间的过程的执行 

Application.EnableEvents= True/ False ’启用/禁用所有事件

 

Application.DisplayAlerts=True/False ’显示/关闭警告框提示框

 

Application.ScreenUpdating= True/False ’显示/关闭屏幕刷新

 

Application.StatusBar = "软件报专用"   ’在地址栏中显示文本,标题栏用Caption属性

 

Application.Cursor = xlIBeam   ‘设置光标形状为Ⅰ字形,xlWait为沙漏(等待)形,xlNormal为正常

 

Application.WindowState = xlMinimized ‘窗口最小化,xlMaximized最大化,xlNormal为正常

 

Application.ActivateMicrosoftApp xlMicrosoftWord ’开启Word应用程序

 

Application.TemplatesPath ‘获取工作簿模板的位置

 

Application.CalculateFull ’重新计算所有打开的工作簿中的数据

 

Application.RecentFiles.Maximum = 2 ’将最近使用的文档列表数设为2

 

Application.RecentFiles(3).Open ’打开最近打开的文档中的第3个文档

 

Application.AutoCorrect.AddReplacement "sweek", "软件报"    ’自动将输入的"sweek"更正为"软件报"

 

Application.Dialogs(xlDialogPrint).Show ‘显示打印文档的对话框

 

Application.OnTime Now + TimeValue("00:00:45"), "process" 45分钟后执行指定过程

 

Application.OnTime TimeValue("14:00:00"), " process "   ’下午2点执行指定过程

 

Application.OnTime EarliestTime:=TimeValue("14:00:00"), _

 

Procedure:="process", Schedule:=False    ’取消指定时间的过程的执行

 

工作簿/工作表

view plaincopy to clipboardprint?

ActiveWorkbook.Sheets.Count ’获取活动工作薄中工作表  

 

ActiveWorkbook.LinkSources(xlExcelLinks)(1) ‘返回当前工作簿中的第一条链接  

 

ThisWorkbook.Worksheets(sheet2).Visible=xlSheetHidden ‘隐藏工作表,与在Excel菜单中执行“格式—工作表—隐藏”操作一样  

 

ThisWorkbook.Worksheets(sheet2).Visible=xlSheetVeryHidden ‘隐藏工作表,不能通过在Excel菜单中执行“格式—工作表—取消隐藏”来重新显示工作表  

 

ThisWorkbook.Worksheets(sheet2).Visible=xlSheetVisible ‘显示被隐藏的工作表  

 

ThisWorkbook.Sheets(1).ProtectContents ‘检查工作表是否受到保护  

 

ActiveSheet.Columns("B").Cut  

 

ActiveSheet.Columns("F").Insert ‘以上两句将B列数据移至F列,原C列后的数据左移  

 

ActiveSheet.Range(A:A).EntireColumn.AutoFit ‘自动调整当前工作表A列的列宽  

 

ActiveSheet.Cells.SpecialCells(xlCellTypeConstants,xlTextValues) ‘选中当前工作表中常量和文本单元格  

 

ActiveSheet.Cells.SpecialCells(xlCellTypeConstants,xlErrors+xlTextValues) ‘选中当前工作表中常量和文本及错误值单元格  

 

ActiveSheet.UsedRange.Rows.Count ‘当前工作表中已使用的行数  

 

ThisWorkbook.Worksheets.Add ThisWorkbook.Worksheets(3), , 2   ‘在第3工作表之前添加2个新的工作表  

 

ActiveSheet.Move After:=ActiveWorkbook. _  

 

Sheets(ActiveWorkbook.Sheets.Count) ’将当前工作表移至工作表的最后  

 

Worksheets(Array(sheet1,sheet2)).Select ’同时选择工作表sheet1sheet2  

 

ActiveSheet.UsedRange.FormatConditions.Delete ‘删除当前工作表中应用的条件格式  

 

Cells.Hyperlinks.Delete ‘取消当前工作表中所有单元格的超链接  

 

ActiveSheet.PageSetup.RightFooter=ActiveWorkbook.FullName ‘在页脚显示文件的路径  

 

ActiveSheet.PrintPreview Enablechanges:=False ‘禁用显示在Excel的“打印预览”窗口中的“设置”和“页边距”按钮 

ActiveWorkbook.Sheets.Count ’获取活动工作薄中工作表

 

ActiveWorkbook.LinkSources(xlExcelLinks)(1) ‘返回当前工作簿中的第一条链接

 

ThisWorkbook.Worksheets(sheet2).Visible=xlSheetHidden ‘隐藏工作表,与在Excel菜单中执行“格式—工作表—隐藏”操作一样

 

ThisWorkbook.Worksheets(sheet2).Visible=xlSheetVeryHidden ‘隐藏工作表,不能通过在Excel菜单中执行“格式—工作表—取消隐藏”来重新显示工作表

 

ThisWorkbook.Worksheets(sheet2).Visible=xlSheetVisible ‘显示被隐藏的工作表

 

ThisWorkbook.Sheets(1).ProtectContents ‘检查工作表是否受到保护

 

ActiveSheet.Columns("B").Cut

 

ActiveSheet.Columns("F").Insert ‘以上两句将B列数据移至F列,原C列后的数据左移

 

ActiveSheet.Range(A:A).EntireColumn.AutoFit ‘自动调整当前工作表A列的列宽

 

ActiveSheet.Cells.SpecialCells(xlCellTypeConstants,xlTextValues) ‘选中当前工作表中常量和文本单元格

 

ActiveSheet.Cells.SpecialCells(xlCellTypeConstants,xlErrors+xlTextValues) ‘选中当前工作表中常量和文本及错误值单元格

 

ActiveSheet.UsedRange.Rows.Count ‘当前工作表中已使用的行数

 

ThisWorkbook.Worksheets.Add ThisWorkbook.Worksheets(3), , 2   ‘在第3工作表之前添加2个新的工作表

 

ActiveSheet.Move After:=ActiveWorkbook. _

 

Sheets(ActiveWorkbook.Sheets.Count) ’将当前工作表移至工作表的最后

 

Worksheets(Array(sheet1,sheet2)).Select ’同时选择工作表sheet1sheet2

 

ActiveSheet.UsedRange.FormatConditions.Delete ‘删除当前工作表中应用的条件格式

 

Cells.Hyperlinks.Delete ‘取消当前工作表中所有单元格的超链接

 

ActiveSheet.PageSetup.RightFooter=ActiveWorkbook.FullName ‘在页脚显示文件的路径

 

ActiveSheet.PrintPreview Enablechanges:=False ‘禁用显示在Excel的“打印预览”窗口中的“设置”和“页边距”按钮

 

 

单元格/单元格区域篇

 

view plaincopy to clipboardprint?

VBA基础在大家的关注声中即将告一段落了,有许多经典的VBA操作我们只是作了简要的介绍,想要熟练地使用VBA还需要大家慢慢地去消化和吸收,然后在实践中总结和提高。最后我们收集了常见的VBA代码以飨广大的读者,希望对大家有所启示。  

 

ApplicationExcel程序)篇  

 

Application.EnableEvents= True/ False ’启用/禁用所有事件  

 

Application.DisplayAlerts=True/False ’显示/关闭警告框提示框  

 

Application.ScreenUpdating= True/False ’显示/关闭屏幕刷新  

 

Application.StatusBar = "软件报专用"   ’在地址栏中显示文本,标题栏用Caption属性  

 

Application.Cursor = xlIBeam   ‘设置光标形状为Ⅰ字形,xlWait为沙漏(等待)形,xlNormal为正常  

 

Application.WindowState = xlMinimized ‘窗口最小化,xlMaximized最大化,xlNormal为正常  

 

Application.ActivateMicrosoftApp xlMicrosoftWord ’开启Word应用程序  

 

Application.TemplatesPath ‘获取工作簿模板的位置  

 

Application.CalculateFull ’重新计算所有打开的工作簿中的数据  

 

Application.RecentFiles.Maximum = 2 ’将最近使用的文档列表数设为2  

 

Application.RecentFiles(3).Open ’打开最近打开的文档中的第3个文档  

 

Application.AutoCorrect.AddReplacement "sweek", "软件报"    ’自动将输入的"sweek"更正为"软件报" 

 

Application.Dialogs(xlDialogPrint).Show ‘显示打印文档的对话框  

 

Application.OnTime Now + TimeValue("00:00:45"), "process" 45分钟后执行指定过程  

 

Application.OnTime TimeValue("14:00:00"), " process "   ’下午2点执行指定过程  

 

Application.OnTime EarliestTime:=TimeValue("14:00:00"), _  

 

Procedure:="process", Schedule:=False    ’取消指定时间的过程的执行  

 

工作簿/工作表  

 

ActiveWorkbook.Sheets.Count ’获取活动工作薄中工作表  

 

ActiveWorkbook.LinkSources(xlExcelLinks)(1) ‘返回当前工作簿中的第一条链接  

 

ThisWorkbook.Worksheets(sheet2).Visible=xlSheetHidden ‘隐藏工作表,与在Excel菜单中执行“格式—工作表—隐藏”操作一样  

 

ThisWorkbook.Worksheets(sheet2).Visible=xlSheetVeryHidden ‘隐藏工作表,不能通过在Excel菜单中执行“格式—工作表—取消隐藏”来重新显示工作表  

 

ThisWorkbook.Worksheets(sheet2).Visible=xlSheetVisible ‘显示被隐藏的工作表  

 

ThisWorkbook.Sheets(1).ProtectContents ‘检查工作表是否受到保护  

 

ActiveSheet.Columns("B").Cut  

 

ActiveSheet.Columns("F").Insert ‘以上两句将B列数据移至F列,原C列后的数据左移  

 

ActiveSheet.Range(A:A).EntireColumn.AutoFit ‘自动调整当前工作表A列的列宽  

 

ActiveSheet.Cells.SpecialCells(xlCellTypeConstants,xlTextValues) ‘选中当前工作表中常量和文本单元格  

 

ActiveSheet.Cells.SpecialCells(xlCellTypeConstants,xlErrors+xlTextValues) ‘选中当前工作表中常量和文本及错误值单元格  

 

ActiveSheet.UsedRange.Rows.Count ‘当前工作表中已使用的行数  

 

ThisWorkbook.Worksheets.Add ThisWorkbook.Worksheets(3), , 2   ‘在第3工作表之前添加2个新的工作表  

 

ActiveSheet.Move After:=ActiveWorkbook. _  

 

Sheets(ActiveWorkbook.Sheets.Count) ’将当前工作表移至工作表的最后  

 

Worksheets(Array(sheet1,sheet2)).Select ’同时选择工作表sheet1sheet2  

 

ActiveSheet.UsedRange.FormatConditions.Delete ‘删除当前工作表中应用的条件格式  

 

Cells.Hyperlinks.Delete ‘取消当前工作表中所有单元格的超链接  

 

ActiveSheet.PageSetup.RightFooter=ActiveWorkbook.FullName ‘在页脚显示文件的路径  

 

ActiveSheet.PrintPreview Enablechanges:=False ‘禁用显示在Excel的“打印预览”窗口中的“设置”和“页边距”按钮  

 

单元格/单元格区域篇  

 

ActiveSheet.UsedRange.Row ‘获取已使用的单元格区域的第一行的行号  

 

Range(A65536).End(xlUp).Row ‘返回A列最后一行(即记录的总条数)  

 

cell.Range(A1).HasFormula ‘检查单元格或单元格区域中的第一个单元格是否含有公式或cell.HasFormula 工作表中单元格是否含有公式  

 

Target.EntireColumn.Select ‘选择单元格所在的整个列,Target.EntireRow.Select为选择单元格所在的整行  

 

ActiveCell.Row ‘活动单元格所在的行号,ActiveCell.Column为活动单元格所在的列数  

 

ActiveWindow.ScrollRow = 2 ’将当前工作表窗口滚动到第2  

 

ActiveWindow.ScrollColumn = 5 ’将当前工作表窗口滚动到第5  

 

Worksheets("sheet1").Range("A1:C5").CopyPicture xlScreen, xlBitmap ’将指定的单元格区域的内容复制成屏幕快照  

 

Selection.Hyperlinks.Delete ‘删除所选区域的所有链接  

 

ActiveSheet.Cells(1, 1).Font.Bold = TRUE Bold属性用于设置字体是否为加粗, Size属性设置字体大小, ColorIndex属性设置字体颜色(其值为颜色索引号), Italic属性设置字型是否为倾斜, Name属性设置字体名称  

 

ActiveSheet.Cells(1, 1).Interior.ColorIndex = 3 ‘将单元格的背景色设置为红色  

 

IsEmpty (ActiveCell.Value) ’判断活动单元格中是否有值  

 

ActiveCell.Value = UCase(ActiveCell.Value) ’将当前单元格中的字符转换成大写  

 

ActiveCell.Value = StrConv(ActiveCell.Value, vbLowerCase) ’将活动单元格中的字符串转换成小写  

 

ActiveCell.CurrentRegion.Select ’选择当前活动单元格所在的连续的非空区域,也可以用Range(ActiveCell, UsedRange.End(xlDown)).Select 

 

ActiveCell.Offset(1,0).Select ’活动单元格下移一行  

 

Range(B2).Offset(ColumnOffset:=1)Range(B2).Offset(,1) ‘读取指定单元格右侧单元格中的数据  

 

Range(B2).Offset(Rowoffset:=-1)Range(B2).Offset(-1) ‘读取指定单元格上一行单元格中的数据  

 

Range(A1).Copy Range(B1) ’复制单元格A1中的内容到B1  

 

Range(A1:D8).Copy Range(H1) ’将指定单元格区域复制到从H1开始的区域中,用Cut方法可以实现剪切操作  

 

ActiveWindow.RangeSelection.Value = "软件报" ’将指定字符串输入到所选单元格区域中 

VBA基础在大家的关注声中即将告一段落了,有许多经典的VBA操作我们只是作了简要的介绍,想要熟练地使用VBA还需要大家慢慢地去消化和吸收,然后在实践中总结和提高。最后我们收集了常见的VBA代码以飨广大的读者,希望对大家有所启示。

 

ApplicationExcel程序)篇

 

Application.EnableEvents= True/ False ’启用/禁用所有事件

 

Application.DisplayAlerts=True/False ’显示/关闭警告框提示框

 

Application.ScreenUpdating= True/False ’显示/关闭屏幕刷新

 

Application.StatusBar = "软件报专用"   ’在地址栏中显示文本,标题栏用Caption属性

 

Application.Cursor = xlIBeam   ‘设置光标形状为Ⅰ字形,xlWait为沙漏(等待)形,xlNormal为正常

 

Application.WindowState = xlMinimized ‘窗口最小化,xlMaximized最大化,xlNormal为正常

 

Application.ActivateMicrosoftApp xlMicrosoftWord ’开启Word应用程序

 

Application.TemplatesPath ‘获取工作簿模板的位置

 

Application.CalculateFull ’重新计算所有打开的工作簿中的数据

 

Application.RecentFiles.Maximum = 2 ’将最近使用的文档列表数设为2

 

Application.RecentFiles(3).Open ’打开最近打开的文档中的第3个文档

 

Application.AutoCorrect.AddReplacement "sweek", "软件报"    ’自动将输入的"sweek"更正为"软件报"

 

Application.Dialogs(xlDialogPrint).Show ‘显示打印文档的对话框

 

Application.OnTime Now + TimeValue("00:00:45"), "process" 45分钟后执行指定过程

 

Application.OnTime TimeValue("14:00:00"), " process "   ’下午2点执行指定过程

 

Application.OnTime EarliestTime:=TimeValue("14:00:00"), _

 

Procedure:="process", Schedule:=False    ’取消指定时间的过程的执行

 

工作簿/工作表

 

ActiveWorkbook.Sheets.Count ’获取活动工作薄中工作表

 

ActiveWorkbook.LinkSources(xlExcelLinks)(1) ‘返回当前工作簿中的第一条链接

 

ThisWorkbook.Worksheets(sheet2).Visible=xlSheetHidden ‘隐藏工作表,与在Excel菜单中执行“格式—工作表—隐藏”操作一样

 

ThisWorkbook.Worksheets(sheet2).Visible=xlSheetVeryHidden ‘隐藏工作表,不能通过在Excel菜单中执行“格式—工作表—取消隐藏”来重新显示工作表

 

ThisWorkbook.Worksheets(sheet2).Visible=xlSheetVisible ‘显示被隐藏的工作表

 

ThisWorkbook.Sheets(1).ProtectContents ‘检查工作表是否受到保护

 

ActiveSheet.Columns("B").Cut

 

ActiveSheet.Columns("F").Insert ‘以上两句将B列数据移至F列,原C列后的数据左移

 

ActiveSheet.Range(A:A).EntireColumn.AutoFit ‘自动调整当前工作表A列的列宽

 

ActiveSheet.Cells.SpecialCells(xlCellTypeConstants,xlTextValues) ‘选中当前工作表中常量和文本单元格

 

ActiveSheet.Cells.SpecialCells(xlCellTypeConstants,xlErrors+xlTextValues) ‘选中当前工作表中常量和文本及错误值单元格

 

ActiveSheet.UsedRange.Rows.Count ‘当前工作表中已使用的行数

 

ThisWorkbook.Worksheets.Add ThisWorkbook.Worksheets(3), , 2   ‘在第3工作表之前添加2个新的工作表

 

ActiveSheet.Move After:=ActiveWorkbook. _

 

Sheets(ActiveWorkbook.Sheets.Count) ’将当前工作表移至工作表的最后

 

Worksheets(Array(sheet1,sheet2)).Select ’同时选择工作表sheet1sheet2

 

ActiveSheet.UsedRange.FormatConditions.Delete ‘删除当前工作表中应用的条件格式

 

Cells.Hyperlinks.Delete ‘取消当前工作表中所有单元格的超链接

 

ActiveSheet.PageSetup.RightFooter=ActiveWorkbook.FullName ‘在页脚显示文件的路径

 

ActiveSheet.PrintPreview Enablechanges:=False ‘禁用显示在Excel的“打印预览”窗口中的“设置”和“页边距”按钮

 

单元格/单元格区域篇

 

ActiveSheet.UsedRange.Row ‘获取已使用的单元格区域的第一行的行号

 

Range(A65536).End(xlUp).Row ‘返回A列最后一行(即记录的总条数)

 

cell.Range(A1).HasFormula ‘检查单元格或单元格区域中的第一个单元格是否含有公式或cell.HasFormula 工作表中单元格是否含有公式

 

Target.EntireColumn.Select ‘选择单元格所在的整个列,Target.EntireRow.Select为选择单元格所在的整行

 

ActiveCell.Row ‘活动单元格所在的行号,ActiveCell.Column为活动单元格所在的列数

 

ActiveWindow.ScrollRow = 2 ’将当前工作表窗口滚动到第2

 

ActiveWindow.ScrollColumn = 5 ’将当前工作表窗口滚动到第5

 

Worksheets("sheet1").Range("A1:C5").CopyPicture xlScreen, xlBitmap ’将指定的单元格区域的内容复制成屏幕快照

 

Selection.Hyperlinks.Delete ‘删除所选区域的所有链接

 

ActiveSheet.Cells(1, 1).Font.Bold = TRUE Bold属性用于设置字体是否为加粗, Size属性设置字体大小, ColorIndex属性设置字体颜色(其值为颜色索引号), Italic属性设置字型是否为倾斜, Name属性设置字体名称

 

ActiveSheet.Cells(1, 1).Interior.ColorIndex = 3 ‘将单元格的背景色设置为红色

 

IsEmpty (ActiveCell.Value) ’判断活动单元格中是否有值

 

ActiveCell.Value = UCase(ActiveCell.Value) ’将当前单元格中的字符转换成大写

 

ActiveCell.Value = StrConv(ActiveCell.Value, vbLowerCase) ’将活动单元格中的字符串转换成小写

 

ActiveCell.CurrentRegion.Select ’选择当前活动单元格所在的连续的非空区域,也可以用Range(ActiveCell, UsedRange.End(xlDown)).Select

 

ActiveCell.Offset(1,0).Select ’活动单元格下移一行

 

Range(B2).Offset(ColumnOffset:=1)Range(B2).Offset(,1) ‘读取指定单元格右侧单元格中的数据

 

Range(B2).Offset(Rowoffset:=-1)Range(B2).Offset(-1) ‘读取指定单元格上一行单元格中的数据

 

Range(A1).Copy Range(B1) ’复制单元格A1中的内容到B1

 

Range(A1:D8).Copy Range(H1) ’将指定单元格区域复制到从H1开始的区域中,用Cut方法可以实现剪切操作

 

ActiveWindow.RangeSelection.Value = "软件报" ’将指定字符串输入到所选单元格区域中

 

窗体(控件)篇

 

view plaincopy to clipboardprint?

Option Explicit ’强制对模块内所有变量进行声明  

 

Userform1.Show ‘显示用户窗体  

 

Load Userform1 ‘加载一个用户窗体,但该窗体处于隐藏状态  

 

Userform1.Hide ‘隐藏用户窗体  

 

Unload Userform1 Unload Me ‘卸载用户窗体  

 

Me.Height=Int(0.5 * ActiveWindow.Height) ‘窗体高度为当前活动窗口高度的一半,宽度用ActiveWindow. Width属性  

 

UserForm1.ComboBox1.AddItem Sheets("Sheet1").Cells(1, 1) ‘将指定单元格中的数据添加到复合框中  

 

ListBox1.List=MyProduct() ‘将数组MyProduct的值添加到列表框ListBox1   

 

ListBox1.RowSource=Sheet1!isum ‘将工作表Sheet1中名为的isum区域的值添加到列表框中  

 

ListBox1.Selected(0) ‘选中列表框中的指定的条目  

 

ListBox1.RemoveItem ListBox1.ListIndex ‘移除列表框中选中的条目  

 

If MsgBox(“要退出吗?”,vbYesNo)<>vbYes Then Exit Sub ’返回值不为“是”,则退出  

 

Config=vbYesNo+vbQuestion+vbDefaultButton2 ’使用常量的组合,赋值组Config变量,并设置第二个按钮为缺省按钮   

 

MsgBox This is the first line. & vbNewLine & Second line. ’在消息框中强制换行,也可用vbCrLf代替vbNewLine  

 

MsgBox "平均值为:"&Format(Application.WorksheetFunction.Average(Selection),"#,##0.00"),vbInformation, "显示选区平均值" ’应用工作表函数返回所选区域的平均值并按指定显示的格式 

Option Explicit ’强制对模块内所有变量进行声明

 

Userform1.Show ‘显示用户窗体

 

Load Userform1 ‘加载一个用户窗体,但该窗体处于隐藏状态

 

Userform1.Hide ‘隐藏用户窗体

 

Unload Userform1 Unload Me ‘卸载用户窗体

 

Me.Height=Int(0.5 * ActiveWindow.Height) ‘窗体高度为当前活动窗口高度的一半,宽度用ActiveWindow. Width属性

 

UserForm1.ComboBox1.AddItem Sheets("Sheet1").Cells(1, 1) ‘将指定单元格中的数据添加到复合框中

 

ListBox1.List=MyProduct() ‘将数组MyProduct的值添加到列表框ListBox1

 

ListBox1.RowSource=Sheet1!isum ‘将工作表Sheet1中名为的isum区域的值添加到列表框中

 

ListBox1.Selected(0) ‘选中列表框中的指定的条目

 

ListBox1.RemoveItem ListBox1.ListIndex ‘移除列表框中选中的条目

 

If MsgBox(“要退出吗?”,vbYesNo)<>vbYes Then Exit Sub ’返回值不为“是”,则退出

 

Config=vbYesNo+vbQuestion+vbDefaultButton2 ’使用常量的组合,赋值组Config变量,并设置第二个按钮为缺省按钮

 

MsgBox This is the first line. & vbNewLine & Second line. ’在消息框中强制换行,也可用vbCrLf代替vbNewLine

 

MsgBox "平均值为:"&Format(Application.WorksheetFunction.Average(Selection),"#,##0.00"),vbInformation, "显示选区平均值" ’应用工作表函数返回所选区域的平均值并按指定显示的格式

 

 

公式与函数

 

view plaincopy to clipboardprint?

Application.WorksheetFunction.IsNumber(A1) ’检查指定单元格中的数据是否为数字  

 

Range(“A:A”).Find(Application.WorksheetFunction.Max(Range(“A:A”))).Activate   

 

’激活单元格区域A列中最大值的单元格  

 

Application.MacroOptions Macro:=GetSum,Category:=4 ‘将自定义的GetSum函数指定给Excel中的“统计函数”类别  

 

Application.MacroOptions Macro:=” GetSum”, _  

 

Description:=”先求和,然后再输出。” ‘为自定义函数GetSum进行功能说明  

 

Application.WorksheetFunction.CountA(Cell.EntireColumn) ‘返回该单元格所在列非空单元格的数量,所在行使用EntireRow属性  

 

Application.WorksheetFunction.CountA(Cells) ‘返回当前工作表中非空单元格数量 

Application.WorksheetFunction.IsNumber(A1) ’检查指定单元格中的数据是否为数字

 

Range(“A:A”).Find(Application.WorksheetFunction.Max(Range(“A:A”))).Activate

 

’激活单元格区域A列中最大值的单元格

 

Application.MacroOptions Macro:=GetSum,Category:=4 ‘将自定义的GetSum函数指定给Excel中的“统计函数”类别

 

Application.MacroOptions Macro:=” GetSum”, _

 

Description:=”先求和,然后再输出。” ‘为自定义函数GetSum进行功能说明

 

Application.WorksheetFunction.CountA(Cell.EntireColumn) ‘返回该单元格所在列非空单元格的数量,所在行使用EntireRow属性

 

Application.WorksheetFunction.CountA(Cells) ‘返回当前工作表中非空单元格数量

 

 

图表篇

view plaincopy to clipboardprint?

ActiveSheet.ChartObjects.Delete ‘删除工作表中所有的ChartObject对象  

 

ActiveWorkbook.Charts.Delete ‘删除当前工作簿中所有的图表工作表 ActiveSheet.ChartObjects.Count ’获取当前工作表中图表的个数  

 

Worksheets("Sheet1").ChartObjects(1).Chart. _  

 

Export Filename:="C:\MyChart.gif", FilterName:="GIF" ‘将指定工作表中的图表1导出到C盘上并命名为MyChart.gif  

 

posted on 2011-07-26 21:11  孤独的猫  阅读(1534)  评论(0编辑  收藏  举报