版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、声明常数用来代替文字值。Co nst常数的默认状态是Private 。Con st My = 456声明Public 常数。Public Con st MyStri ng = HELP声明 Private Integer 常数。Private Const Mylnt As Integer = 5在同一行里声明多个常数。Con st MyStr = Hello, MyDouble As Double =选择当前单元格所在区域在EXCEL9冲,有一个十分好的功能,他就是把鼠标放置在一个有效数据单元格中,执行该 段代码,你就可以将连在一起的一片数据全部选中。只要将该段代码加入到你的模块中。Sub M
2、y_SelectEnd sub返回当前单元格中数据删除前后空格后的值sub my_trimmsgbox Trim end sub单元格位移sub my_offset(0, 1).Select当前单兀格向左移动一格(0, -1).Select当前单兀格向右移动一格(1 , 0).Select当前单元格向下移动一格(-1 , 0).Selectend sub当前单元格向上移动一格如果上述程序产生错误那是因为单元格不能移动,为了解除上述错误,我们可以往sub my_offset之下加一段代码 on error resume n extsub 代码名称”和end sub请自己添加注意以下代码都不再添加
3、给当前单元格赋值=你好! !”给指定单元格赋值例如:A1单元格内容设为HELLO Ra nge(a1).value=hello又如:你现在的工作簿在sheetl上,你要往sheet2的A1单元格中插入HELLO1.sheets(sheet2).selectran ge(a1).value=hello或2.Sheets(sheet1).Ra nge(a1).Value = hello说明:被选中,然后在将“ HELLO赋到 A1单元格中。不必被选中,即可“ HELLO赋到 sheet2的A1单元格中。隐藏工作表隐藏SHEET1这张工作表sheets(sheet1).Visible=False显示
4、SHEET1这张工作表sheets(sheet1).Visible=True打印预览有时候我们想把所有的EXCE冲的SHEET都打印预览,请使用该段代码,它将在你现有的工作簿中循环,直到最后一个工作簿结束循环预览。Dim my As WorksheetFor Each my In WorksheetsNext my得到当前单元格的地址msgbox得到当前日期及时间msgbox date & chr(13) & time保护工作簿取消保护工作簿给活动工作表改名为 li u=li u打开一个应用程序AppActivate (Shell(C:/WINDOWS/)增加一个工作表删除活动工作表打开一个工
5、作簿文件FileName:=C:/My Docume nts/关闭活动窗口单元格格式选定单元格左对齐=xILeft选定单元格居中=xlCe nter选定单元格右对齐=xIRight选定单元格为百分号风格=Perce nt选定单元格字体为粗体=True选定单元格字体为斜体=True选定单元格字体为宋体20号字With.Name =宋体”.Size = 20End WithWith语句With对象.描述End With清除单元格删除所有文字、批注、格式返回选定区域的行数MsgBox返回选定区域的列数MsgBox返回选定区域的地址忽略所有的错误ON ERROR RESUME NEXT遇错跳转on e
6、rror goto err_ha ndle中间的其他代码err_ha ndle: 标签跳转后的代码删除一个文件kill c:/定制自己的状态栏=现在时刻:& Time恢复自己的状态栏=false用代码执行一个宏macro:=text滚动窗口到al的位置=1=1定制系统日期Dim MyDate, MyDayMyDate = #12/12/69#MyDay = Day(MyDate)返回当天的时间Dim MyDate, MyYearMyDate = DateMyYear = Year(MyDate)MsgBox MyYear inputboxXX=ln putBox (E nter nu mber
7、 of mon ths to add)得到一个文件名提示:请打开EXCEL文 件:)Dim kk As Stri ngkk = (EXCEL (*.XLS), *.XLS, Title:=msgbox kk打开zoom对话框(xlDialogZoom).Show激活字体对话框(xlDialogActiveCellFo nt).Show打开另存对话框Dim kk As Stri ngkk = (excel (*.xls), *.xls) kk工作簿(Workbook)基本操作应用示例(一)WorkbookWorkbook对象代表工作簿,而 Workbooks集合则包含了当前所有的工作簿。下面对
8、对象的重要的方法和属性以及其它一些可能涉及到的方法和属性进行示例介绍,同时,后面 的示例也深入介绍了一些工作簿对象操作的方法和技巧。示例03-01 :创建工作簿(Add方法)示例 03-01-01Sub CreateNewWorkbook1()MsgBox 将创建一个新工作簿.End Sub示例 03-01-02Sub CreateNewWorkbook2()Dim wb As WorkbookDim ws As WorksheetDim i As LongMsgBox 将创建一个新工作簿,并预设工作表格式Set wb =Set ws = (1)=产品汇总表”(1, 1)=序号”(1,2)=产
9、品名称”(1, 3)=产品数量”For i = 2 To 10(i, 1)=Next iEnd Subi - 1示例03-02 :添加并保存新工作簿Sub AddSaveAsNewWorkbook()Dim Wk As WorkbookSet Wk =FalseFile name:=D:/End Sub示例说明:本示例使用了 Add方法和SaveAs方法,添加一个新工作簿并将该工作簿以文件名 保存在D盘中。其中,语句 =False表示禁止弹出警告对话框。示例03-03 :打开工作簿(Open方法)示例 03-03-01Sub ope nWorkbook1()需打开文件的路径/文件名End Su
10、bOpe n方法共有15示例说明:代码中的 里的内容需用所需打开的文件的路径及文件名代替。 个参数,其中参数 FileName为必需的参数,其余参数可选。示例 03-03-02Sub ope nWorkbook2()Dim fname As Stri ngMsgBox 将D盘中的 测试.xls工作簿以只读方式打开”fname = D:/ 测试.xlsFile name:=fname, ReadO nly:=TrueEnd Sub示例03-04 :将文本文件导入工作簿中(OpenText方法)Sub TextToWorkbook()本示例打开某文本文件并将制表符作为分隔符对此文件进行分列处理转换
11、成为工作表Filename:=文本文件所在的路径 /文本文件名,DataType:=xlDelimited, Tab:=TrueEnd Sub示例说明:代码中的 里的内容需用所载入的文本文件所在路径及文件名代替。OpenText方法的作用是导入一个文本文件,并将其作为包含单个工作表的工作簿进行分列处理,然后在此工作表中放入经过分列处理的文本文件数据。该方法共有18个参数,其中参数 FileName为必需的参数,其余参数可选。示例03-05 :保存工作簿(Save方法)示例 03-05-01Sub SaveWorkbook()MsgBox 保存当前工作簿.End Sub示例 03-05-02Su
12、b SaveAIIWorkbook1()Dim wb As WorkbookMsgBox 保存所有打开的工作簿后退出Excel.For Each wb InNext wbEnd Sub示例 03-05-03Sub SaveAllWorkbook2()Dim wb As WorkbookFor Each wb In WorkbooksIf The nNext wbEnd Sub示例说明:本示例保存原来已存在且已打开的工作簿。示例03-06 :保存工作簿(SaveAs方法)示例 03-06-01Sub SaveWorkbook1()MsgBox 将工作簿以指定名保存在默认文件夹中.xlsEnd S
13、ub12个示例说明:SaveAs方法相当于另存为”命令,以指定名称保存工作簿。该方法有参数,均为可选参数。如果未指定保存的路径,那么将在默认文件夹中保存该工作簿。如果 文件夹中该工作簿名已存在,则提示是否替换原工作簿。示例 03-06-02Sub SaveWorkbook2()Dim oldName As String, n ewName As Stri ngDim folderName As String, fname As Stri ngoldName =n ewName = n ew & oldNameMsgBox 将 以 的名称保存”folderName =fname = folder
14、Name & / & n ewNamefnameEnd Sub示例说明:本示例将当前工作簿以一个新名(即new加原名)保存在默认文件夹中。示例 03-06-03Sub CreateBak1()MsgBox 保存工作簿并建立备份工作簿”CreateBackup:=TrueEnd Sub示例说明:本示例将在当前文件夹中建立工作簿的备份。示例 03-06-04Sub CreateBak2()MsgBox 保存工作簿时,若已建立了备份,则将出现包含 True的信息框,否则出现False.MsgBoxEnd Sub示例03-07 :取得当前打开的工作簿数(Count属性)Sub WorkbookNum(
15、)MsgBox 当前已打开的工作簿数为 :& Chr(10) &End Sub示例03-08 :激活工作簿(Activate 方法)示例 03-08-01Sub ActivateWorkbook1()Workbooks().ActivateEnd Sub示例说明:Activate 方法激活一个工作簿,使该工作簿为当前工作簿。示例 03-08-02Sub ActivateWorkbook2()Dim n As Lon g, i As LongDim b As Stri ngMsgBox 依次激活已经打开的工作簿”n =For i = 1 To nWorkbooks(i).Activateb =
16、MsgBox(第” & i & ”个工作簿被激活,还要继续吗?, vbYesNo)If b = vbNo The n Exit SubIf i = n Then MsgBox 最后一个工作簿已被激活.Next iEnd Sub示例03-09 :保护工作簿(Protect 方法)Sub ProtectWorkbook()MsgBox 保护工作簿结构,密码为123Password:=123, Structure:=TrueMsgBox 保护工作簿窗口 ,密码为123Password:=123, Win dows:=TrueMsgBox 保护工作簿结构和窗口,密码为123Password:=123,
17、 Structure:=True, Win dows:=TrueEnd Sub示例说明:使用 Protect方法来保护工作簿,带有三个可选参数,参数Password指明保护工作簿密码,要解除工作簿保护应输入此密码;参数Structure 设置为True则保护工作簿结构,此时不能对工作簿中的工作表进行插入、复制、删除等操作;参数Windows设置为True则保护工作簿窗口,此时该工作簿右上角的最小化、最大化和关闭按钮消失。示例03-10 :解除工作簿保护(UnProtect方法)Sub Un protectWorkbook()MsgBox 取消工作簿保护”123End Sub示例03-11 :工
18、作簿的一些通用属性示例Sub testGe neralWorkbookl nfo()MsgBox 本工作簿的名称为” &MsgBox 本工作簿带完整路径的名称为” &MsgBox 本工作簿对象的代码名为 ” &MsgBox 本工作簿的路径为” &If The nMsgBox 本工作簿已经是以只读方式打开ElseMsgBox 本工作簿可读写.End IfIf The nMsgBox 本工作簿已保存.ElseMsgBox 本工作簿需要保存.End IfEnd Sub属性)示例03-12 :访问工作簿的内置属性 (BuiltinDocumentProperties 示例 03-12-01Sub Sh
19、owWorkbookProperties()Dim SaveTime As Stri ngOn Error Resume NextSaveTime = (Last Save Time).ValueIf SaveTime = The nMsgBox & ”工作簿未保存.ElseMsgBox 本工作簿已于” & SaveTime & ” 保存”,End IfEnd Sub示例说明:在Excel中选择菜单“文件一一属性”命令时将会显示一个“属性”对话框,该对话框中包含了当前工作簿的有关信息,可以在VBA中使用Built in Docume ntProperties属性访问工作簿的属性。上述示例代码将
20、显示当前工作簿保存时的日期和时间。示例 03-12-02Sub listWorkbookProperties()On Error Resume Next在名为工作簿属性”的工作表中添加信息,若该工作表不存在,则新建一个工作表Worksheets(” 工作簿属性 ”).ActivateIf 0 The nafter:=Worksheets=工作簿属性”ElseEnd IfOn Error GoTo 0ListPropertiesEnd SubSub ListProperties()Dim i As LongCells(1, 1)=名称”Cells(1,2)=类型”Cells(1, 3)=值“Ra
21、n ge(A1:C1).=TrueWith ActiveWorkbookFori = 1 To .With .Built in Docume ntProperties(i)Cells(i + 1, 1) = .NameSelect Case .TypeCase msoPropertyTypeBoolea nCells(i + 1,2) = Boolea nCase msoPropertyTypeDateCells(i + 1,2) = DateCase msoPropertyTypeFloatCells(i + 1,2) = FloatCase msoPropertyTypeNumberCel
22、ls(i + 1,2) = NumberCase msoPropertyTypeStri ngCells(i + 1,2) = stri ngEnd SelectOn Error Resume NextCells(i + 1, 3) = .ValueOn Error GoTo 0End WithNext iEnd WithRa nge(A:C).End Sub示例说明:本示例代码在“工作簿属性”工作表中列出了当前工作簿中的所有内置属性。示例03-13 :测试工作簿中是否包含指定工作表(Sheets属性)Sub testSheetExists()MsgBox 测试工作簿中是否存在指定名称的工作表
23、”Dim b As Boolea nb = SheetExists()If b = True The nMsgBox 该工作表存在于工作簿中.ElseMsgBox 工作簿中没有这个工作表.End IfEnd SubPrivate Function SheetExists(s name) As Boolea nDim x As ObjectOn Error Resume NextSet x = (sn ame)If Err = 0 The nSheetExists = TrueElseSheetExists = FalseEnd IfEnd Function示例03-14 :对未打开的工作簿进行
24、重命名(Name方法)Sub ren ame()Name 工作簿路径/旧名称.xls As 工作簿路径/新名称.xlsEnd Sub示例说明:代码中 中的内容为需要重命名的工作簿所在路径及新旧名称。该方法只是对未 打开的文件进行重命名,如果该文件已经打开,使用该方法会提示错误。示例03-15 :设置数字精度(PrecisionAsDisplayed 属性)Sub SetPrecisi on()Dim pValueMsgBox 在当前单元格中输入1/3,并将结果算至小数点后两位”=1 / 3 III!pValue = * 3MsgBox 当前单元格中的数字乘以3等于:” & pValueMsgB
25、ox 然后,将数值分类设置为数值,即单元格中显示的精度”=TruepValue = * 3MsgBox 此时,当前单元格中的数字乘以3等于:” & pValue & ” 而不是1=FalseEnd Sub示例说明:PrecisionAsDisplayed属性的值设置为 True,则表明采用单元格中所显示的数值进行计算。示例03-16 :删除自定义数字格式 (DeleteNumberFormat方法)Sub DeleteNumberFormat。MsgBox 从当前工作簿中删除 000-00-0000的数字格式”(000-00-0000)End Sub示例说明:DeleteNumberForma
26、t方法将从指定的工作簿中删除自定义的数字格式。示例03-17 :控制工作簿中图形显示 (DisplatyDrawingObjects 属性)Sub testDraw()MsgBox 隐藏当前工作簿中的所有图形”=xlHideMsgBox 仅显示当前工作簿中所有图形的占位符”=xlPlaceholdersMsgBox 显示当前工作簿中的所有图形”=xlDisplayShapesEnd Sub示例说明:本属性作用的对象包括图表和形状。在应用本示例前,应保证工作簿中有图表或 形状,以察看效果。示例03-18 :指定名称(Names属性)Sub testNames()MsgBox 将当前工作簿中工作表
27、Sheet1内单元格 A1命名为 myName.Name:=myName, RefersToR1C1:=Sheet1!R1C1End Sub示例说明:对于 Workbook对象而言,Names属性返回的集合代表工作簿中的所有名称。示例03-19 :检查工作簿的自动恢复功能(EnableAutoRecover 属性)Sub UseAutoRecover()检查是否工作簿自动恢复功能开启,如果没有则开启该功能If = False The n=TrueMsgBox 刚开启自动恢复功能ElseMsgBox 自动恢复功能已开启End IfEnd Sub示例03-20 :设置工作簿密码(Password属
28、性)Sub UsePassword()Dim wb As WorkbookSet wb =InputBox(请输入密码:)End Sub示例说明:Password属性返回或设置工作簿密码,在打开工作簿时必须输入密码。本示例代 码运行后,提示设置密码,然后关闭工作簿;再次打开工作簿时,要求输入密码。示例03-21 :返回工作簿用户状态信息(UserStatus 属性)Sub UsePassword()Dim Users As Varia ntDim Row As LongUsers =Row = 1WithCells(Row, 1)=用户名”Cells(Row, 2)=日期和时间”.Cells(
29、Row, 3)=使用方式”For Row = 1 To UBou nd(Users, 1).Cells(Row + 1, 1) = Users(Row, 1).Cells(Row + 1,2) = Users(Row, 2)Select Case Users(Row, 3)Case 1.Cells(Row + 1, 3).Value =个人工作簿”Case 2.Cells(Row + 1, 3).Value =共享工作簿”End SelectNextEnd WithRa nge(A:C).End Sub示例说明:示例代码运行后,将创建一个新工作簿并带有用户使用当前工作簿的信息,即用 户名、打开
30、的日期和时间及工作簿使用方式。示例03-22 :检查工作簿是否有密码保护 (HasPassword属性)Sub IsPassword()If = True The nMsgBox 本工作簿有密码保护,请在管理员处获取密码.ElseMsgBox 本工作簿无密码保护,您可以自由编辑.End IfEnd Sub示例03-23 :决定列表边框是否可见 (InactiveListBorderVisible属性)Sub HideListBorders()MsgBox 隐藏当前工作簿中所有非活动列表的边框.=FalseEnd Sub示例03-24 :关闭工作簿示例 03-24-01Sub CloseWork
31、book1()Msgbox 不保存所作的改变而关闭本工作簿”False或 SaveCha nges:=False或=TrueEnd sub示例 03-24-02Sub CloseWorkbook2()Msgbox 保存所作的改变并关闭本工作簿”TrueEnd sub示例 03-24-03Sub CloseWorkbook3()Msgbox “关闭本工作簿。如果工作簿已发生变化,则弹出是否保存更改的对话框。”TrueEnd sub示例03-24-04关闭并保存所有工作簿Sub CloseAIIWorkbooks()Dim Book As WorkbookFor Each Book In Work
32、booksIf The nsavecha nges:=TrueEnd IfNext Booksavecha nges:=TrueEnd Sub示例03-24-05关闭工作簿并将它彻底删除Sub KillMe()With ThisWorkbook.Saved = True.Cha ngeFileAccess Mode:=xlReadO nlyKill .FullName.Close FalseEnd WithEnd Sub示例03-24-06关闭所有工作簿,若工作簿已改变则弹出是否保存变化的对话框Sub closeAIIWorkbook()MsgBox 关闭当前所打开的所有工作簿”End Sub
33、工作簿(Workbook)基本操作应用示例(二)示例03-25 :创建新的工作簿Sub testNewWorkbook()MsgBox 创建一个带有10个工作表的新工作簿”Dim wb as WorkbookSet wb = NewWorkbook(10)End SubFun ction NewWorkbook(wsCou nt As In teger) As Workbook创建带有由变量 wsCount提定数量工作表的工作簿,工作表数在1至255之间Dim Origi nalWorksheetCou nt As LongSet NewWorkbook = Nothi ngIf wsCoun
34、t 255 Then Exit FunctionOrigi nalWorksheetCo unt =wsCo untSet NewWorkbook =Origi nalWorksheetCo untEnd Function示例说明:自定义函数NewWorkbook可以创建最多带有 255个工作表的工作簿。本测试示例创建一个带有10个工作表的新工作簿。示例03-26 :判断工作簿是否存在Sub testFileExists()MsgBox 如果文件不存在则用信息框说明,否则打开该文件If Not FileExists(C:/文件夹 / 子文件夹 / 文件.xls) ThenMsgBox 这个工作
35、簿不存在!ElseC:/ 文件夹/子文件夹/文件.xlsEnd IfEnd SubFun ction FileExists(FullFileName As Stri ng) As Boolean如果工作簿存在,则返回TrueFileExists = Le n(Dir(FullFileName) 0End Function示例说明:本示例使用自定义函数FileExists 判断工作簿是否存在,若该工作簿已存在,则打开它。代码中,“ C:/文件夹/子文件夹/文件.xls ”代表工作簿所在的文件夹名、子文件夹 名和工作簿文件名。示例03-27 :判断工作簿是否已打开示例 03-27-01Sub te
36、stWorkbookOpe n()MsgBox 如果工作簿未打开,则打开该工作簿.If Not WorkbookOpen(”工作簿名.xls) Then工作簿名.xlsEnd IfEnd SubFun ction WorkbookOpe n( WorkBookName As Stri ng) As Boolea n如果该工作簿已打开则返回真WorkbookOpe n = FalseOn Error GoTo WorkBookNotOpe nIf Len (WorkBookName).Name) 0 The nWorkbookOpe n = TrueMsgBox 该工作簿已打开”Exit Fun
37、ctionEnd IfWorkBookNotOpe n:End Function示例说明:本示例中的函数WorkbookOpen用来判断工作簿是否打开。代码中,“工作簿名.xls ”代表所要打开的工作簿名称。示例 03-27-02Sub testWookbookIFOpe n()Dim wb As Stri ngDim bwb As Boolea nwb =bwb = WorkbooklsOpe n(wb)If bwb = True The nMsgBox 工作簿& wb & 已打开.ElseMsgBox 工作簿” & wb & ” 未打开.End IfEnd SubPrivate Funct
38、ion WorkbookIsOpe n(wbn ame) As Boolea nDim x As WorkbookOn Error Resume NextSet x = Workbooks(wb name)If Err = 0 The nWorkbookIsOpe n = TrueElseWorkbookIsOpe n = FalseEnd IfEnd Function示例03-28 :备份工作簿示例03-28-01用与活动工作簿相同的名字但后缀名为.bak备份工作簿Sub SaveWorkbookBackup()Dim awb As Workbook, BackupFileName As S
39、tring, i As Integer, OK As BooleanIf TypeName(ActiveWorkbook) = Nothi ng The n Exit SubSet awb = ActiveWorkbookIf = The n(xlDialogSaveAs).ShowElseBackupFileName =i = 0While In Str(i + 1, BackupFileName, .) 0i = In Str(i + 1, BackupFileName, .)WendIf i 0 Then BackupFileName = Left(BackupFileName, i -
40、 1)BackupFileName = BackupFileName & .bakOK = FalseOn Error GoTo NotAbleToSaveWith awb=正在保存工作簿.Save=正在备份工作簿.SaveCopyAs BackupFileNameOK = TrueEnd WithEnd IfNotAbleToSave:Set awb = Noth ing=FalseIf Not OK The nMsgBox 备份工作簿未保存!, vbExclamation.End IfEnd Sub示例说明:在当前工作簿中运行本示例代码后,将以与工作簿相同的名称但后缀名为.bak备份工作簿
41、,且该备份与当前工作簿在同一文件夹中。其中,使用了工作簿的FullName属性和SaveCopyAs 方法。示例03-28-02保存当前工作簿的副本到其它位置备份工作簿Sub SaveWorkbookBackupToFloppyD()Dim awb As Workbook, BackupFileName As Stri ng, i As In teger, OK As Boolea nIf TypeName(ActiveWorkbook) = Nothi ng The n Exit SubSet awb = ActiveWorkbookIf = The n(xlDialogSaveAs).Sh
42、owElseBackupFileName =OK = FalseOn Error GoTo NotAbleToSaveIf Dir(D:/ & BackupFileName) ThenKill D:/ & BackupFileNameEnd IfWith awb=正在保存工作簿.Save=正在备份工作簿.SaveCopyAs D:/ & BackupFileNameOK = TrueEnd WithEnd IfNotAbleToSave:Set awb = Noth ing=FalseIf Not OK The nMsgBox 备份工作簿未保存!, vbExclamation.End IfEn
43、d SubD盘中。其示例说明:本程序将把当前工作簿进行复制并以与当前工作簿相同的名称保存在 中,使用了 Kill方法来删除已存在的工作簿。示例03-29 :从已关闭的工作簿中取值示例 03-29-01Sub testGetValuesFromClosedWorkbook()GetValuesFromACIosedWorkbook C:, , Sheet1, A1:G20End SubSub GetValuesFromACIosedWorkbook(fPath As Stri ng, _fName As String, sName, cellRange As String)With (cellR
44、a nge).FormulaArray = = & fPath & / & fName & _& sName & ! & cellRa nge.Value = .ValueEnd WithEnd Sub示例说明:本示例包含一个子过程GetValuesFromACIosedWorkbook,用来从已关闭的工作簿中获取数据,主过程 testGetValuesFromClosedWorkbook用来传递参数。本示例表示从C盘根目录下的工作簿的工作表Sheet1中的A1:G20单元格区域内获取数据,并将其复制到当前工作表相应单元格区域中。示例 03-29-02Sub ReadDataFromAIIWo
45、rkbooksl nFolder()Dim FolderName As String, wbName As String, r As Long, cValue As VariantDim wbList() As String, wbCount As Integer, i As IntegerFolderName = C:/ 文件夹名”创建文件夹中工作簿列表wbCou nt = 0wbName = Dir(FolderName & / & *.xls)While wbName wbCou nt = wbCou nt + 1ReDim Preserve wbList(1 To wbCou nt)w
46、bList(wbCo unt) = wbNamewbName = DirWendIf wbCount = 0 Then Exit Sub从每个工作簿中获取数据r = 0For i = 1 To wbCo untr = r + 1cValue = Getl nfoFromClosedFile(FolderName, wbList(i), Sheetl, A1)Cells(r, 1).Formula = wbList(i)Cells(r, 2).Formula = cValueNext iEnd SubPrivate Fun ction Getl nfoFromClosedFile(ByVal w
47、bPath As Stri ng, _wbName As Stri ng, wsName As Stri ng, cellRef As Stri ng) As Varia ntDim arg As Stri ngGetl nfoFromClosedFile =If Right(wbPath, 1) / Then wbPath = wbPath & /If Dir(wbPath & / & wbName) = The n Exit Fun ctionarg = ” & wbPath & & wbName & & _wsName & ! & Range(cellRef).Address(True,
48、 True, xIRICI)On Error Resume NextGetl nfoFromClosedFile = ExecuteExcel4Macro(arg)End Function示例说明:本示例将读取一个文件夹内所有工作簿中工作表Sheetl上单元格A1中的值到一个新工作簿中。代码中,“ C:/文件夹名”代表工作簿所在的文件夹名。示例 03-29-03Sub GetDataFromClosedWorkbook()Dim wb As Workbook=False以只读方式打开工作簿文件夹名/文件.xls, True, True)Set wb = (C:/With ( 工作表名)从工作簿
49、中读取数据.Ran ge(A10).Formula =(.Ran ge(A11).Formula =(.Ran ge(A12).Formula =(.Ran ge(A13).Formula =( End WithFalse源工作表名).Range(A10).Formula源工作表名).Range(A20).Formula源工作表名).Range(A30).Formula源工作表名).Range(A40).FormulaSet wb = Nothi ng=True关闭打开的源数据工作簿且不保存任何变化释放内存End Sub示例说明:在运行程序时,打开所要获取数据的工作簿,当取得数据后再关闭该工作
50、簿。将屏幕更新属性值设置为False,将看不出源数据工作簿是否被打开过。本程序代码中,“C:/文件夹名/文件.xls ”、源工作表名”代表工作簿所在的文件夹和工作簿文件名VBA语句集前面已经推出了两辑 VBA语句集,共有200句VBA常用代码及代码功能的简要解释。根据前阶段在学习VBA过程中总结归纳的成果,特汇编了VBA语句集第3辑,供大家在学习 VBA编程时参考。其实,您可以在VBE编辑器中将这些语句进行测试,以体验其作用或效果。VBA语句集的特点是,一句 VBA代码,后面配有代码功能简要的说明或解释。每辑100句,尽可能收录所有在程序中所要用到的代码。(201) Set objExcel
51、= CreateObject(”)创建Excel工作簿(202) xlMicrosoftWord 开启 Word 应用程序(203) 获取工作簿模板的位置(204) = xlCalculatio nMan ual设置工作簿手动计算=xlCalculatio nAutomatic工作簿自动计算(205) Worksheets(1).E nableCalculati on = False不对第一张工作表自动进行重算(206) 重新计算所有打开的工作簿中的数据(207) = 5 将最近使用的文档列表数设为5(208) .Open 打开最近打开的文档中的第4个文档(209) DateSerial(20
52、06,6,6)+TimeValue( “ 16:16:16 ”),“BaoPo 在 2006 年 6 月 6 日 的16:16:16开始运行BaoPo过程(210) (Hello &播放声音,并使用用户的姓名问候用户(211) MsgBox 获取/号(212) MsgBox (xlCou ntrySett ing)返回应用程序当前所在国家的设置信息(213) 葛洲坝,三峡”自动将在工作表中进行输入的”葛洲坝”更正为”三峡”(214) Beep 让计算机发出声音(215) 返回错误代码(216) MsgBox IMEStatus 获取输入法状态(217) Date = #6/6/2006#Time = #6:16:16 AM# 将系统时间更改为 2006年6月6日上午6时16分16秒(218) = Not 切换是否能利用鼠标中间的滑轮放大/缩小工作表(219) = T rue显
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年房产认购专项协议范本
- 2024年成品油销售协议模板
- 2023-2024学年珠海市全国大联考(江苏卷)高三第二次数学试题试卷
- 2024年高效代理合作招募协议模板
- 2024年幼教岗位聘用协议范本
- 彩钢瓦安装工程协议模板2024年
- 2024年海水产品长期供应协议模板
- 2024年度润滑油分销协议范本
- 文书模板-《硬件设计合同》
- 2024房产居间服务协议模板
- 卫浴产品世界各国认证介绍
- 江苏省职工代表大会操作办法.doc
- 湘教版小学音乐五年级上册教学计划
- sch壁厚等级对照表
- 高新技术企业认定自我评价表
- 药物分类目录
- 中石油-细节管理手册 03
- 柿子品种介绍PPT课件
- 全国重点文物保护单位保护项目安防消防防雷计划书
- 护士对预防患者跌倒的问卷调查表
- 道路开口施工方案
评论
0/150
提交评论