ExcelVBA编程的常用代码用过VB的人都应该知道如何声明变量,在VBA中声明变量和VB中是完全一样的!使用Dim语句Dimaasinteger'声明a为整型变量Dima'声明a为变体变量Dimaasstring'声明a为字符串变量Dimaascurrency,bascurrency,cascurrency'声明a,b,c为货币变量......声明变量可以是:Byte、Boolean、Integer、Long、Currency、Single、Double、Decimal(当前不支持)、Date、String(只限变长字符串)、String*length(定长字符串)、Object、Variant、用户定义类型或对象类型。强制声明变量OptionExplicit说明:该语句必在任何过程之前出现在模块中。声明常数用来代替文字值。Const'常数的默认状态是Private。ConstMy=456'声明Public常数。PublicConstMyString=HELP'声明PrivateInteger常数。PrivateConstMyIntAsInteger=5'在同一行里声明多个常数。ConstMyStr=Hello,MyDoubleAsDouble=3.4567选择当前单元格所在区域在EXCEL97中,有一个十分好的功能,他就是把鼠标放置在一个有效数据单元格中,执行该段代码,你就可以将连在一起的一片数据全部选中。只要将该段代码加入到你的模块中。SubMy_SelectSelection.CurrentRegion.SelectEndsub返回当前单元格中数据删除前后空格后的值submy_trimmsgboxTrim(ActiveCell.Value)endsub单元格位移submy_offsetActiveCell.Offset(0,1).Select'当前单元格向左移动一格ActiveCell.Offset(0,-1).Select'当前单元格向右移动一格ActiveCell.Offset(1,0).Select'当前单元格向下移动一格ActiveCell.Offset(-1,0).Select'当前单元格向上移动一格endsub如果上述程序产生错误那是因为单元格不能移动,为了解除上述错误,我们可以往submy_offset之下加一段代码onerrorresumenext注意以下代码都不再添加sub“代码名称”和endsub请自己添加!给当前单元格赋值ActiveCell.Value=你好!!!给指定单元格赋值例如:A1单元格内容设为HELLORange(a1).value=hello又如:你现在的工作簿在sheet1上,你要往sheet2的A1单元格中插入HELLO1.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都打印预览,请使用该段代码,它将在你现有的工作簿中循环,直到最后一个工作簿结束循环预览。DimmyAsWorksheetForEachmyInWorksheetsmy.PrintPreviewNextmy得到当前单元格的地址msgboxActiveCell.Address得到当前日期及时间msgboxdate&chr(13)&time保护工作簿ActiveSheet.Protect取消保护工作簿ActiveSheet.Unprotect给活动工作表改名为liuActiveSheet.Name=liu打开一个应用程序AppActivate(Shell(C:/WINDOWS/CALC.EXE))增加一个工作表Worksheets.Add删除活动工作表activesheet.delete打开一个工作簿文件Workbooks.OpenFileName:=C:/MyDocuments/Book2.xls关闭活动窗口ActiveWindow.Close单元格格式选定单元格左对齐Selection.HorizontalAlignment=xlLeft选定单元格居中Selection.HorizontalAlignment=xlCenter选定单元格右对齐Selection.HorizontalAlignment=xlRight选定单元格为百分号风格Selection.Style=Percent选定单元格字体为粗体Selection.Font.Bold=True选定单元格字体为斜体Selection.Font.Italic=True选定单元格字体为宋体20号字WithSelection.Font.Name=宋体.Size=20EndWithWith语句With对象.描述EndWith清除单元格ActiveCell.Clear'删除所有文字、批注、格式返回选定区域的行数MsgBoxSelection.Rows.Count返回选定区域的列数MsgBoxSelection.Columns.Count返回选定区域的地址Selection.Address忽略所有的错误ONERRORRESUMENEXT遇错跳转onerrorgotoerr_handle'中间的其他代码err_handle:'标签'跳转后的代码删除一个文件killc:/1.txt定制自己的状态栏Application.StatusBar=现在时刻:&Time恢复自己的状态栏Application.StatusBar=false用代码执行一个宏Application.Runmacro:=text滚动窗口到a1的位置ActiveWindow.ScrollRow=1ActiveWindow.ScrollColumn=1定制系统日期DimMyDate,MyDayMyDate=#12/12/69#MyDay=Day(MyDate)返回当天的时间DimMyDate,MyYearMyDate=DateMyYear=Year(MyDate)MsgBoxMyYearinputbox输入框XX=InputBox(Enternumberofmonthstoadd)得到一个文件名DimkkAsStringkk=Application.GetOpenFilename(EXCEL(*.XLS),*.XLS,Title:=提示:请打开一个EXCEL文件:)msgboxkk打开zoom对话框Application.Dialogs(xlDialogZoom).Show激活字体对话框Application.Dialogs(xlDialogActiveCellFont).Show打开另存对话框DimkkAsStringkk=Application.GetSaveAsFilename(excel(*.xls),*.xls)Workbooks.Openkk工作簿(Workbook)基本操作应用示例(一)Workbook对象代表工作簿,而Workbooks集合则包含了当前所有的工作簿。下面对Workbook对象的重要的方法和属性以及其它一些可能涉及到的方法和属性进行示例介绍,同时,后面的示例也深入介绍了一些工作簿对象操作的方法和技巧。示例03-01:创建工作簿(Add方法)[示例03-01-01]SubCreateNewWorkbook1()MsgBox将创建一个新工作簿.Workbooks.AddEndSub[示例03-01-02]SubCreateNewWorkbook2()DimwbAsWorkbookDimwsAsWorksheetDimiAsLongMsgBox将创建一个新工作簿,并预设工作表格式.Setwb=Workbooks.AddSetws=wb.Sheets(1)ws.Name=产品汇总表ws.Cells(1,1)=序号ws.Cells(1,2)=产品名称ws.Cells(1,3)=产品数量Fori=2To10ws.Cells(i,1)=i-1NextiEndSub示例03-02:添加并保存新工作簿SubAddSaveAsNewWorkbook()DimWkAsWorkbookSetWk=Workbooks.AddApplication.DisplayAlerts=FalseWk.SaveAsFilename:=D:/SalesData.xlsEndSub示例说明:本示例使用了Add方法和SaveAs方法,添加一个新工作簿并将该工作簿以文件名SalesData.xls保存在D盘中。其中,语句Application.DisplayAlerts=False表示禁止弹出警告对话框。示例03-03:打开工作簿(Open方法)[示例03-03-01]SubopenWorkbook1()Workbooks.Open需打开文件的路径/文件名EndSub示例说明:代码中的里的内容需用所需打开的文件的路径及文件名代替。Open方法共有15个参数,其中参数FileName为必需的参数,其余参数可选。[示例03-03-02]SubopenWorkbook2()DimfnameAsStringMsgBox将D盘中的测试.xls工作簿以只读方式打开fname=D:/测试.xlsWorkbooks.OpenFilename:=fname,ReadOnly:=TrueEndSub示例03-04:将文本文件导入工作簿中(OpenText方法)SubTextToWorkbook()'本示例打开某文本文件并将制表符作为分隔符对此文件进行分列处理转换成为工作表Workbooks.OpenTextFilename:=文本文件所在的路径/文本文件名,_DataType:=xlDelimited,Tab:=TrueEndSub示例说明:代码中的里的内容需用所载入的文本文件所在路径及文件名代替。OpenText方法的作用是导入一个文本文件,并将其作为包含单个工作表的工作簿进行分列处理,然后在此工作表中放入经过分列处理的文本文件数据。该方法共有18个参数,其中参数FileName为必需的参数,其余参数可选。示例03-05:保存工作簿(Save方法)[示例03-05-01]SubSaveWorkbook()MsgBox保存当前工作簿.ActiveWorkbook.SaveEndSub[示例03-05-02]SubSaveAllWorkbook1()DimwbAsWorkbookMsgBox保存所有打开的工作簿后退出Excel.ForEachwbInApplication.Workbookswb.SaveNextwbApplication.QuitEndSub[示例03-05-03]SubSaveAllWorkbook2()DimwbAsWorkbookForEachwbInWorkbooksIfwb.PathThenwb.SaveNextwbEndSub示例说明:本示例保存原来已存在且已打开的工作簿。示例03-06:保存工作簿(SaveAs方法)[示例03-06-01]SubSaveWorkbook1()MsgBox将工作簿以指定名保存在默认文件夹中.ActiveWorkbook.SaveAs工作簿名.xlsEndSub示例说明:SaveAs方法相当于“另存为……”命令,以指定名称保存工作簿。该方法有12个参数,均为可选参数。如果未指定保存的路径,那么将在默认文件夹中保存该工作簿。如果文件夹中该工作簿名已存在,则提示是否替换原工作簿。[示例03-06-02]SubSaveWorkbook2()DimoldNameAs