PPT VBA常用语句
VBA常用语句
常用的、带解释的VBA 短句对于VBA的初学者来说,很想了解一些VBA短句的含义。
1、[A65536].End(xlUp).Row 'A列末行向上第一个有值的行数2、[A1].End(xlDown).Row 'A列首行向下第一个有值之行数3、[IV1].End(xlToLeft).Column '第一行末列向左第一列有数值之列数。
4、[A1].End(xlToRight).Column '第一行首列向右有连续值的末列之列数5、mandBars("Standard").Controls(2).BeginGroup=True '在常用工具栏的第二个按钮前插入分隔符6、Cells.WrapText = False '取消自动换行If Len(Target) > 5 Then '如果当前单元格中的字符数超过5个,执行下一行Target.WrapText = True '自动换行End If7、[A1:B10].SpecialCells(xlCellTypeBlanks).Rows.Hidden = True '有空格即隐藏行8、[A2] '返回活动单元格的工作表名9、[A2] '返回活动单元格的工作簿名10、Private Sub Workbook_Open() '工作簿打开事件tt '工作簿打开时启动tt 过程End Sub11、Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) '工作表变化事件tt '工作表中任一单元格有变化时启动tt 过程End Sub12、Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) '工作表选择变化事件tt '工作表中单元格的选择有变化时启动tt 过程End Sub13、Sub tt() 'tt 过程Dim myNow As Date, BL As Integer '定义myNow为日期型;定义BL为长整型myNow = Now '把当前的时间赋给变量myNowDo '开始循环语句DoBL = Second(Now) - Second(myNow) '循环中不断检查变量BL的值If BL = 30 Then GoTo Cl '当BL=30即跳转到CLDoEvents '转让控制权,以便sheets可继续操作Loop Until BL > 30 '当BL>30即跳出循环Exit SubCl:Application.EnableEvents = False '避免引起其他事件ActiveWorkbook.Close True '关闭活动工作簿并保存Application.EnableEvents = True '可触发其他事件End Sub14、range("e4").addcomment.Text "代头" & Chr(10) & "内容……"'添加批注15、range("e4").Comment.Visible = True '显示批注16、Sub 调整列宽()Dim i%For i = 1 To Sheets.Count '遍历工作簿中所有的工作表Sheets(i).Columns("A:K").AutoFit '把每个工作表的[A:K]列调整为最佳列宽Next iEnd Sub17、Do循环语句的几种形式:1.Do While i>1 '条件为True时执行... ... '要执行的语句Loop2.Do Until i>1 '条件为False时执行... ... '要执行的语句Loop3.Do... ... '要执行的语句Loop While i>1 '条件为True时执行4.Do... ... '要执行的语句Loop Until i>1 '条件为False时执行5.While...Wend 语句While i>1 '条件为True时执行... ... '要执行的语句Wend18、勾选"VBA项目的信任"Application.SendKeys "%(tmstv){ENTER}" '在Excel 窗口操作Application.SendKeys "%(qtmstv){ENTER}" '在VBE 窗口操作19、mandBars("命令按钮名称").Position = msoBarFloating '使[命令按钮]悬浮在表格中20、mandBars("命令按钮名称").Position = msoBarTop '使[命令按钮]排列在工具栏中21、ActiveSheet.protect Password:="wshzw" '为工作表保护加口令22、ActiveSheet.Unprotect Password:="wshzw" '解除工作表保护23、Activesheet.ProtectContents '判断工作表是否处于保护状态24、工作表的复制与命名Sub wshzw()Dim i As IntegerFor i = 1 To 5Sheets("Sheet1").Copy After:=Sheets(1) 'Before/After 复制新表在Sheets("Sheet1") 前/后 = i & "月" '为复制的新表命名Next iSheets("Sheet1").Name = "总表" '为Sheets("Sheet1") 改名End Sub25、 Application.EnableEvents = True '抑制事件连锁执行26、ActiveWorkbook.Save '抑制BeforeSave事件的发生27、Application.EnableEvents = True '抑制指定事件28、Application.DisplayAlerts=False '屏蔽确认提示29、Application.ScreenUpdating = False30、Application.ScreenUpdating = true ' 冻结屏幕以加快程序运行31、ActiveCell.CurrentRegion.Select '选择与活动单元格相连的区域32、range("a2:a20").NumberFormatLocal = "00-00" '区域的格式化33、ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Row '已用区域的最末行34、ActiveSheet.Copy Before:=Sheets(1) '复制活动工作表到第一张工作表之前35、range("a2:a20").FormulaHidden = True '工作表处于保护状态时隐藏部分单元格公式36、FileDateTime("E:\My Documents\33.xls")或FileDateTime(thisworkbook.FullName) '文件被创建或最后修改后的日期和时间37、FileLen(thisworkbook.FullName) / 1024或FileLen("E:\My Documents\temp\33.xls") / 1024 '文件的长度(大小),单位是KB38、Application.AskToUpdateLinks = False '不询问是否更新链接,并自动更新链接39、ActiveSheet.Hyperlinks.Delete '删除活动工作表超链接40、ActiveWorkbook.SaveLinkValues = False '不保存活动工作簿的外部链接值41、ActiveSheet.PageSetup.CenterFooter = Range("k2").Value '打印时设置自定义页脚42、ActiveSheet.PageSetup.Orientation = xlLandscape '设置为横向打印43、ActiveSheet.PageSetup.Orientation = xlPortrait '设置为纵向打印44、Application.WindowState = xlMinimized '最小化窗口45、Application.WindowState = xlNormal '最大化窗口46、Sub 删除工作表()Application.DisplayAlerts = FalseSheet1.DeleteApplication.DisplayAlerts = TrueEnd Sub47、添加工作表Sub 添加工作表()For i = 1 To 5 = iNextEnd Sub48、[A1:A20].AdvancedFilter xlFilterCopy, [B1], Unique:=True '可去掉重复数据49、[A2:C32].Replace What:="F", Replacement:="G" '指定范围内的查找与替换50、Activesheet.AutoFilterMode = false '取消自动筛选51、edRange.ClearComments '清除活动工作表已使用范围所有批注52、edRange.ClearFormats '清除活动工作表已使用范围所有格式53、edRange.Validation.Delete '取消活动工作表已使用范围的数据有效性54、ActiveSheet.Hyperlinks.Delete '删除活动工作表超链接55、ActiveSheet.DrawingObjects.Delete '删除活动工作表已使用范围的所有对象56、edRange = edRange.Value '取消活动工作表已使用范围的公式并保留值57、还有:Sub x()Dim myRange As StringmyRange = edRange.Address '去除活动工作表无数据的行列End Sub58、ActiveWorkbook.FullName '当前窗口文件名与路径59、Application.AltStartupPath= "E:\My\MyStart" '替补启动目录路径60、Application.AutoRecover.Path '返回/设置Excel存储"自动恢复"临时文件的完整路径61、Application.DefaultFilePath '选项>常规中的默认工作目录62、Application.Evaluate("=INFO(""directory"")") '默认工作目录63、Application.LibraryPath '返回库文件夹的路径64、workTemplatesPath '返回保存模板的网络路径65、Application.Path '返回应用程序完整路径66、Application.RecentFiles.Item(1).Path '返回最近使用的某个文件路径,Item(1)=第一个文件67、Application.StartupPath 'Excel启动文件夹的路径68、Application.TemplatesPath '返回模板所存储的本地路径69、erLibraryPath '返回用户计算机上COM 加载宏的安装路径70、Debug.Print Application.PathSeparator '路径分隔符"\"71、CurDir '默认工作目录72、Excel.Parent.DefaultFilePath '默认工作目录73、ThisWorkbook.Path '返回当前工作薄的路径74、dim mm(2,10)Range("a1:b10")=mm '可以将二维数组赋值给Range75、Application.Dialogs(XLdialogsaveas).show 显示保存对话框。
PPT_VBA例子
Edition 1能用1Sub ChangeTextFont()Set Pages = ActivePresentation.Slides.RangepageCount = Pages.Count'第一页和最后一页跳过For i = 2 To pageCount - 1DoEventsActiveWindow.View.GotoSlide Index:=ishapeCount = ActiveWindow.Selection.SlideRange.Shapes.CountFor j = 1 To shapeCountActiveWindow.Selection.SlideRange.Shapes(j).SelectshapeType = ActiveWindow.Selection.SlideRange.Shapes(j).Type'1 -自选图形'7 -公式'13 -图片'14 -占位符'15 -艺术字'17 -文本框'19 -表格'Debug.Print shapeTypeSelect Case shapeTypeCase 1, 14, 17Set txtRange = ActiveWindow.Selection.ShapeRange.TextFrame.TextRangetxtRange.SelectIf txtRange.Text <> "" Then'设置字体为宋体, 24号With txtRange.Font.Name = "宋体".Size = 24End IfEnd With'设置段落格式为1.3倍行距With txtRange.ParagraphFormat.SpaceWithin = 1.3End WithEnd IfCase 7, 13, 15Case 19End SelectNext jNext iEnd SubEdition 2能用2'改变所有文本框的字体颜色为黑色Sub Macro1()For Each sld In Application.ActivePresentation.SlidesFor Each shp In sld.ShapesIf shp.HasTextFrame ThenSet txtRng = shp.TextFrame.TextRangemyColor = RGB(0, 0, 0) '颜色txtRng.Font.Color.RGB = myColorEnd IfNextNextEnd SubEdition 3能用3Sub 替换选定字体颜色为自动()Dim A As LongDim shape As shapeDim slide As slideDim txt As TextRange'On Error Resume Next'A = InputBox("请选择要替换的颜色")If ActiveWindow.Selection.Type <> ppSelectionText ThenMsgBox "请选中一个文本"Exit SubEnd IfA = ActiveWindow.Selection.TextRange.Font.Color.RGB'替换背景颜色为白色'ActivePresentation.SlideMaster.Background.Fill.Solid'ActivePresentation.SlideMaster.Background.Fill.ForeColor.RGB = RGB(255,255,255) For Each slide In ActivePresentation.SlidesFor Each shape In slide.ShapesIf shape.HasTextFrame ThenSet txt = shape.TextFrame.TextRangeFor Each sentence In txt.SentencesFor Each Word In sentence.Words'把蓝色的文字替换成灰色If Word.Font.Color.RGB = A ThenWith Word.Font.Color.RGB = RGB(40, 40, 40)End WithEnd IfNextNextEnd IfNextNextEnd Sub当然,发现有些字的颜色还是改不了。
VBA中的操作PowerPoint幻灯片的方法
VBA中的操作PowerPoint幻灯片的方法PowerPoint是一款常用的演示文稿制作工具,广泛应用于商务、教育和其他领域。
在VBA编程中,我们可以利用PowerPoint对象模型来操作PowerPoint幻灯片,实现自动化的幻灯片制作。
在本文中,我们将介绍一些常用的VBA操作PowerPoint幻灯片的方法,帮助读者更好地理解和应用VBA编程技术。
1. 打开一个幻灯片文件要打开一个已有的PowerPoint幻灯片文件,我们可以使用以下代码:```Dim pptApp As ObjectDim pptPres As ObjectSet pptApp = CreateObject("PowerPoint.Application")Set pptPres = pptApp.Presentations.Open("C:\Path\to\file.pptx")pptApp.Visible = True '显示PowerPoint应用程序窗口```在以上代码中,我们首先创建了一个PowerPoint应用程序对象pptApp,然后使用Open方法打开指定路径下的幻灯片文件。
最后,我们将PowerPoint应用程序窗口显示出来。
2. 创建一个新的幻灯片文件如果需要创建一个新的幻灯片文件,我们可以使用以下代码:```Dim pptApp As ObjectDim pptPres As ObjectDim pptSlide As ObjectSet pptApp = CreateObject("PowerPoint.Application")Set pptPres = pptApp.Presentations.Add '创建一个新的幻灯片文件Set pptSlide = pptPres.Slides.Add(1, 12) '在第1张幻灯片后面添加一张幻灯片pptApp.Visible = True '显示PowerPoint应用程序窗口```在以上代码中,我们首先创建了一个PowerPoint应用程序对象pptApp,然后使用Add方法创建一个新的幻灯片文件。
学习VBA基础知识(课件PPT)
别的动作。 如:单击某个命令按钮就产生该按钮的“单击”事件
当某个对象发生某一事件后,就会驱动系统去执行预先编 好的、与这一事件相对应的一段程序。
方法 方法是系 统事先设计好的,可以完成一定操作的特
殊过程,是附Biblioteka 于对象的行为和动作。在需要使用的时候 可以直接调用。 其格式为:
结果为 "123456"
"abcdef" + 12345 结果为 出错
"123" + 456
结果为 579
2-3-3关系运算符
将两个操作数进行大小比较,结果为逻辑值。 注意:字符串比较,则按字符的ASCII码值从左到右一一
比较,直到出现不同的字符为止。
2-3-4逻辑运算符
将操作数进行逻辑运算,结果是逻辑值
例如:Dim i As integer, s 表示声明了一个名为i的整型变量和一个名为s的变
体型变量。
关键字Dim或Static的区别
Dim 声明:随过程的调用而分配存贮单元,每次调用都 对变量初始化;过程体结束,变量的内容自动消失,存 储单元释放。
Static 声明:Static 声明的变量,也称为静态变量。 静态变量在程序运行过程中一直保留其值,即每次调用 过程,变量保持原来的值。
举例
例1:用人单位招聘秘书:年龄小于40岁的女性,学历专科或本科
年龄<40,性别=“女”,(学历=“专科”,学历=“本科”)
And
And
Or
例2:算术表达式: 3x7
正确的VBA表达式: 3〈=x And x <=7 错误的VBA表达式: 3<=x<=7 或 3<=x Or x<=7
VBA中简单实用的语句
常用语句(1).工作簿1.O n Err or Re sumeNext '忽略错误继续执行VBA代码,避免出现错误消息2.On Erro r GoT o Err orHan dler '当错误发生时跳转到过程中的某个位置3.App licat ion.D ispla yAler ts=Fa lse '在程序执行过程中使出现的警告框不显示4.App licat ion.S creen Updat ing=F alse'关闭屏幕刷新Appli catio n.Scr eenUp datin g=Tru e '打开屏幕刷新5.Ac tiveW orkbo ok.na me '返回活动工作薄的名称6.Activ eWork book.Windo wStat e=xlM aximi zed '将当前工作簿最大化7.Shee ts(Sh eet1).Name= “Su m” '将Shee t1命名为Sum8.Work sheet s(Arr ay(“s heet1”,”sh eet2”)).Se lect'同时选择工作表1和工作表29.Acti veShe et.Us edRan ge.Fo rmatC ondit ions.Delet e '删除当前工作表中所有的条件格式10.A ctive Sheet.Page Setup.Orie ntati on=xl Lands cape或Activ eShee t.Pag eSetu p.Ori entat ion=2 '将页面设置更改为横向11.Cel ls.Se lect'选定当前工作表的所有单元格12.Ran ge(“A1”).C learC onten ts '清除活动工作表上单元格A1中的内容 Sele ction.Clea rCont ents '清除选定区域内容 Rang e(“A1:D4”).Clea r '彻底清除A1至D4单元格区域的内容,包括格式13.Activ eCell.Offs et(1,0).Se lect'活动单元格下移一行,同理,可下移一列Ra nge(“A1”).Offse t(Col umnOf fset:=1) 或 Rang e(“A1”).Of fset(,1) '偏移一列 Rang e(“A1”).Of fset(Rowof fset:=-1)或 Ran ge(“A1”).O ffset(-1)'向上偏移一行14.Acti veWin dow.R angeS elect ion.V alue=XX '将值X X输入到所选单元格区域中15.Acti veWin dow.R angeS elect ion.C ount '活动窗口中选择的单元格数16.Ra nge(“A1”).Inter ior.C olorI ndex或 Cel ls(1,1).In terio r.Col orInd ex '获取单元格A1背景色17.Nam es.Ad d Nam e:=”M yArra y”,Re fersT o:=Ar rayNu m '将数组Arra yNum命名为MyA rray18.Na mes.A dd Na me:=”Produ ceNum”:,Re fersT o:=”=$B$1”,Visi ble:=False '将名称隐藏19.Ce lls(8,8).F ormul aArra y=”=S UM(R2C[-1]:R[-1]C[-1]*R2C:R[-1]C)” '在单元格中输入数组公式。
常用VBA基础语句
常用VBA语句(1)Option Explicit '强制对模块内所有变量进行声明(2)Option Base 1 '指定数组的第一个下标为1(3)On Error Resume Next '忽略错误继续执行VBA代码,避免出现错误消息(4)On Error GoTo 100 '当错误发生时跳转到过程中的某个位置(5)On Error GoTo 0 '恢复正常的错误提示(6)Application.DisplayAlerts=False '在程序执行过程中使出现的警告框不显示(7)Application.DisplayAlerts=True '在程序执行过程中(8)Application.ScreenUpdating=False '关闭屏幕刷新(9)Application.ScreenUpdating = True '打开屏幕刷新(10)Workbooks.Add() '创建一个新的工作簿(11)Workbooks(“book1.xls”).Activate '激活名为book1的工作簿(12)T hisWorkbook.Save '保存工作簿(13)T hisWorkbook.close '关闭当前工作簿(14)ActiveWorkbook.Sheets.Count '获取活动工作薄中工作表数(15) '返回活动工作薄的名称(16)T ‘返回当前工作簿名称(17)T hisWorkbook.FullName ‘返回当前工作簿路径和名(18)(18) edRange.Rows.Count ‘当前工作表中已使用的行数(19)R ows.Count ‘获取工作表的行数(注:考虑兼容性)(20)Sheets(Sheet1).Name= “Sum”'将Sheet1命名为Sum(21)ThisWorkbook.Sheets.Add Before:=Worksheets(1) '添加一个新工作表在第一工作表前(22)ActiveSheet.Move After:=ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count) '将当前工作表移至工作表的最后(23)Worksheets(Array(“sheet1”,”sheet2”)).Select '同时选择工作表1和工作表2(24)Sheets(“sheet1”).Delete或Sheets(1).Delete '删除工作表1(25)edRange.FormatConditions.Delete ‘删除当前工作表中所有的条件格式(26)Cells.Hyperlinks.Delete ‘取消当前工作表所有超链接(27)A ctiveCell.CurrentRegion.Select选择当前活动单元格所包含的范围,上下左右无空行(28)Cells.Select ‘选定当前工作表的所有单元格(29)Range(“A1”).ClearContents '清除活动工作表上单元格A1中的Selection.ClearContents'清除选定区域内容Range(“A1:D4”).Clear '彻底清除A1至D4单元格区域的内容,包括格式(30)Cells.Clear '清除工作表中所有单元格的内容(31)A ctiveCell.Offset(1,0).Select '活动单元格下移一行,同理,可下移一列(32)Range(“A1”).Copy Range(“B1”) '复制单元格A1,粘贴到单元格B1中(33)R ange(“A1:D8”).Copy Range(“F1”) '将单元格区域复制到单元格F1开始的区域中(34)R ange(“A1:D8”).Cut Range(“F1”) '剪切单元格区域A1至D8,复制到单元格F1开始的区域中(35)R ange(“A1”).CurrentRegion.Copy Sheets(“Sheet2”).Range(“A1”) '复制包含A1的单元格区域到工作表2中以A1起始的单元格区域中注:CurrentRegion属性等价于定位命令,由一个矩形单元格块组成,周围是一个或多个空行或列(36)A ctiveWindow.RangeSelection.Count '活动窗口中选择的单元格数(37)Selection.Count '当前选中区域的单元格数(38)R ange(“A1”).Interior.ColorIndex ‘获取单元格A1背景色(39)cells.count ‘返回当前工作表的单元格数(40)R ange(“B3”).Resize(11, 3)(41)U nion(Range(“A1:A9”),Range(“D1:D9”)) 区域连接(42)I ntersect(Range(“A1:B9”),Range(“A1:D9”))) ‘返回的交叉区域(43)Selection.Columns.Count ‘当前选中的单元格区域中的列数(44)S election.Rows.Count ‘当前选中的单元格区域中的行数(45)A edRange.Row ‘获取单元格区域中使用的第一行的行号(46)Application.WorksheetFunction.IsNumber(“A1”) '使用工作表函数检查A1单元格中的数据是否为数字(47)R ange(“A:A”).Find(Application.WorksheetFunction.Max(Range(“A:A”))).Activate'激活单元格区域A列中最大值的单元格(48)M sgBox “Hello!”'消息框中显示消息Hello(49)A ns=MsgBox(“Continue?”,vbYesNo) '在消息框中点击“是”按钮,则Ans值为vbYes;点击“否”按钮,则Ans值为vbNo。
课件--V入4期01--VBA常用语句和函数
一、常用函数数学类函数AtnCosExpFix_IntHexOctRndRoundSinTanValLogSgnSqr 字符类函数返回一个 Double 的值,指返回包含于字符串内的数字返回一个 Double,指定参数返回一个 Variant (Intege 返回一个 Double,指定参数返回一个 Double,指定一个返回一个 Double,指定一个返回 Double,指定 e(自然返回参数的整数部分。
返回代表十六进制数值的 S 返回 Variant (String),代返回一个包含随机数值的 S 返回一个数值,该数值是按果。
返回一 Double,指定参数的V入4第一讲VBA常用AscChrInStr InStrRev Join LCaseLeftLenMid Replace Right SpaceStr StrComp StrConv StrReverse StringUCaseFormat FormatCurrency FormatDateTime FormatNumber 返回 Variant (String),其返回 Variant (String),其中的指令来格式化的。
返回一个货币值格式的表达号。
返回一个日期或时间格式的返回一个数字格式的表达式返回特定数目空格的 Varia返回代表一数值的 Variant返回 Variant (Integer),返回按指定类型转换的 Var返回一个字符串,其中一个返回 Variant (String),其返回转成小写的 String。
返回 Variant (String),其符。
返回 Long,其中包含字符串节数。
返回 Variant (String),其返回一个字符串,该字符串串,并且替换发生的次数也是指定的。
返回 Variant (String),其符。
返回一个 Integer,代表字返回 String,其中包含有与返回 Variant (Long),指定。
PPT VBA常用语句-推荐下载
PPT VBA常用语句结束放映的语句SlideShowWindows(Index:=1).View.Exit关闭当前窗口Application.Windows.Item(1).Close关闭PPTApplication.Quit在ppt中用VBA实现多个文档的打开和关闭Sub Ctest()//关闭当前文档ActivePresentation.Close//打开另外一个文档Presentations.Open "C:\Documents and Settings\Administrator\桌面\FILE 2.ppt"//如果你要新打开的文档开始播放的话,加上下面的一句ActivePresentation.SlideShowSettings.RunEnd Sub跳到某一张幻灯片:With SlideShowWindows(1).View.GotoSlide 2End With文本框控件:Slide5.TextBox1.Text=”888”文本框:Slide1.Shapes("Text Box 7").TextFrame.TextRange.Text = "999999"图形元件:Slide1.Shapes("Oval 9").Visible = msoFalse图片元件ActivePresentation.Slides(1).Shapes("Picture 29").Height = 0ActivePresentation.Slides(1).Shapes("Picture 29").Width = 0一、OnSlideShowPageChange宏的使用下面我们来研究一下这两个宏的功能与运行的条件。
先来看OnSlideShowPageChange 宏,我们新建一个演示文稿,并把PowerPoint宏的安全级别设置为启用全部宏,在演示文稿中添加几张幻灯片,为便于测试说明,从第一张幻灯片开始,我们按顺序给它们输入数字编号"1、2、3、4……",再按Alt+F11快捷键启动VBA编辑器,在其中插入一个模块,向代码窗口中输入如下代码:Sub OnSlideShowPageChange()MsgBox "I love you, PowerPoint."End Sub点击"保存"按钮,保存文档,文件名如Test.ppt(PowerPoint 2007中为Test.pptm),返回幻灯片编辑视图,按F5键进行放映,我们首先会看到一个显示"I love you, PowerPoint."的消息框,点击确定后,放映第一张幻灯片,再点击鼠标左键,放映到第二张,也会出现同样的消息框,后面各张的放映的情形也是这样。
(最新整理)VBA经典常用语句400句
VBA经典常用语句400句编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望(VBA经典常用语句400句)的内容能够给您的工作和学习带来便利。
同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。
本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为VBA经典常用语句400句的全部内容。
VBA经典常用语句400句目录一、定制模块行为 (3)二、工作簿 (3)三、单元格/单元格区域 (5)四、图表 (9)五、窗体 (10)六、事件 (12)七、对象 (12)八、其他 (13)九、工作簿 (13)十、工作表 (14)十一、公式与函数 (17)十二、图表 (17)十三、窗体和控件 (18)十四、对象 (19)十五、Range对象 (23)十六、Collection与object (25)十七、Windows API (25)十八、Application对象 (38)十九、Documents/Document对象 (40)二十、Paragraphs/Paragraph对象 (41)二十一、Sentences对象 (43)二十二、Words对象 (43)二十三、Characters对象 (43)二十四、Sections/Section对象 (43)二十五、Range对象 (44)二十六、其它 (45)一、定制模块行为(1) Option Explicit ’强制对模块内所有变量进行声明Option Private Module ’标记模块为私有,仅对同一工程中其它模块有用,在宏对话框中不显示Option Compare Text ’字符串不区分大小写Option Base 1 '指定数组的第一个下标为1(2) On Error Resume Next '忽略错误继续执行VBA代码,避免出现错误消息(3) On Error GoTo ErrorHandler '当错误发生时跳转到过程中的某个位置(4) On Error GoTo 0 '恢复正常的错误提示(5) Application。
(代码)常用的VBA短句(带注释)
常用的VBA短句(带注释)[A65536].End(xlUp).Row 'A列末行向上第一个有值的行数[A1].End(xlDown).Row 'A列首行向下第一个有值之行数[IV1].End(xlToLeft).Column '第一行末列向左第一列有数值之列数。
[A1].End(xlToRight).Column '第一行首列向右有连续值的末列之列数mandBars("Standard").Controls(2).BeginGroup = True '在常用工具栏的第二个按钮前插入分隔符Cells.WrapText = False '取消自动换行If Len(Target) > 5 Then '如果当前单元格中的字符数超过5个,执行下一行Target.WrapText = True '自动换行End If[A1:B10].SpecialCells(xlCellTypeBlanks).Rows.Hidden = True '有空格即隐藏行[A2] '返回活动单元格的工作表名[A2] '返回活动单元格的工作簿名勾选"VBA项目的信任"Application.SendKeys "%(tmstv){ENTER}" '在Excel 窗口操作Application.SendKeys "%(qtmstv){ENTER}" '在VBE 窗口操作mandBars("命令按钮名称").Position = msoBarFloating '使[命令按钮]悬浮在表格中mandBars("命令按钮名称").Position = msoBarTop '使[命令按钮]排列在工具栏中ActiveSheet.Protect Password:="wshzw" '为工作表保护加口令ActiveSheet.Unprotect Password:="wshzw" '解除工作表保护ActiveSheet.ProtectContents '判断工作表是否处于保护状态Application.DisplayAlerts = False '屏蔽确认提示ActiveCell.CurrentRegion.Select '选择与活动单元格相连的区域Range("a2:a20").NumberFormatLocal = "00-00" '区域的格式化ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Row '已用区域的最末行ActiveSheet.Copy Before:=Sheets(1) '复制活动工作表到第一张工作表之前Range("a2:a20").FormulaHidden = True '工作表处于保护状态时隐藏部分单元格公式Application.AskToUpdateLinks = False '不询问是否更新链接,并自动更新链接ActiveSheet.Hyperlinks.Delete '删除活动工作表超链接ActiveWorkbook.SaveLinkValues = False '不保存活动工作簿的外部链接值ActiveSheet.PageSetup.CenterFooter = Range("k2").Value '打印时设置自定义页脚ActiveSheet.PageSetup.Orientation = xlLandscape '设置为横向打印ActiveSheet.PageSetup.Orientation = xlPortrait '设置为纵向打印Application.WindowState = xlMinimized '最小化窗口Application.WindowState = xlNormal '最大化窗口ActiveWorkbook.FullName '当前窗口文件名与路径Application.AltStartupPath = "E:\My\MyStart" '替补启动目录路径Application.AutoRecover.Path '返回/设置Excel存储"自动恢复"临时文件的完整路径Application.DefaultFilePath '选项>常规中的默认工作目录Application.Evaluate ("=INFO(""directory"")") '默认工作目录Application.LibraryPath '返回库文件夹的路径workTemplatesPath '返回保存模板的网络路径Application.Path '返回应用程序完整路径Application.RecentFiles.Item(1).Path '返回最近使用的某个文件路径,Item(1)=第一个文件Application.StartupPath 'Excel启动文件夹的路径Application.TemplatesPath '返回模板所存储的本地路径erLibraryPath '返回用户计算机上COM 加载宏的安装路径Debug.Print Application.PathSeparator '路径分隔符"\"CurDir '默认工作目录Excel.Parent.DefaultFilePath '默认工作目录ThisWorkbook.Path '返回当前工作薄的路径ActiveCell.Offset(, -1).Name = "hzw" '定义名称ActiveCell.Precedents.Address '被当前单元格所引用的区域地址ActiveCell.Resize(0, 2).Select '选定当前单元格并向右延伸二格ActiveSheet.AutoFilter.Range.Columns(1).SpecialCells(xlCellTypeVisible).Count -1 '显示自动筛选后的行数Workbooks.Close '关闭所有工作簿Application.Quit '关闭所有工作簿Application.ScreenUpdating = False' ......Application.ScreenUpdating = True ' 冻结屏幕以加快程序运行Application.EnableEvents = False' ......Application.EnableEvents = True '抑制事件连锁执行Application.EnableEvents = FalseActiveWorkbook.Save '抑制BeforeSave事件的发生Application.EnableEvents = True '抑制指定事件FileDateTime ("E:\My Documents\33.xls")或FileDateTime (ThisWorkbook.FullName) '文件被创建或最后修改后的日期和时间FileLen (ThisWorkbook.FullName) / 1024或FileLen ("E:\My Documents\temp\33.xls") / 1024 '文件的长度(大小),单位是KBDim mm(2, 10)Range("a1:b10") = mm '可以将二维数组赋值给RangeApplication.Dialogs(xlDialogSaveAs).Show '显示保存对话框T = Application.GetOpenFilename("Text Files (*.dat), *.dat") '选择文件打开路径'如下代码可使工作簿打开后30秒(或闲置30秒)内不输入、不重新选择等,自动关闭工作簿Private Sub Workbook_Open() '工作簿打开事件tt '工作簿打开时启动tt 过程End SubPrivate Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) '工作表变化事件tt '工作表中任一单元格有变化时启动tt 过程End SubPrivate Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) '工作表选择变化事件tt '工作表中单元格的选择有变化时启动tt 过程End SubSub tt() 'tt 过程Dim myNow As Date, BL As Integer '定义myNow为日期型;定义BL为长整型myNow = Now '把当前的时间赋给变量myNowDo '开始循环语句DoBL = Second(Now) - Second(myNow) '循环中不断检查变量BL的值If BL = 30 Then GoTo Cl '当BL=30即跳转到CLDoEvents '转让控制权,以便sheets可继续操作Loop Until BL > 30 '当BL>30即跳出循环Exit SubCl:Application.EnableEvents = False '避免引起其他事件ActiveWorkbook.Close True '关闭活动工作簿并保存Application.EnableEvents = True '可触发其他事件End SubRange("e4").AddComment.Text "代头" & Chr(10) & "内容……" '添加批注Range("e4").Comment.Visible = True '显示批注把工作簿中所有工作表的指定列调整为最佳列宽:Sub 调整列宽()Dim i%For i = 1 To Sheets.Count '遍历工作簿中所有的工作表Sheets(i).Columns("A:K").AutoFit '把每个工作表的[A:K]列调整为最佳列宽Next iEnd SubDo循环语句的几种形式:'1.Do While i > 1 '条件为True时执行'... ... '要执行的语句Loop'2.Do Until i > 1 '条件为False时执行'... ... '要执行的语句Loop'3.Do'... ... '要执行的语句Loop While i > 1 '条件为True时执行'4.Do'... ... '要执行的语句Loop Until i > 1 '条件为False时执行'5.While...Wend 语句While i > 1 '条件为True时执行'... ... '要执行的语句Wend工作表的复制与命名Sub wshzw()Dim i As IntegerFor i = 1 To 5Sheets("Sheet1").Copy After:=Sheets(1) 'Before/After 复制新表在Sheets("Sheet1") 前/后 = i & "月" '为复制的新表命名Next iSheets("Sheet1").Name = "总表" '为Sheets("Sheet1") 改名End SubSub 删除工作表()Application.DisplayAlerts = FalseSheet1.DeleteApplication.DisplayAlerts = TrueEnd SubSub 添加工作表()For i = 1 To 5 = iNextEnd Sub[A1:A20].AdvancedFilter xlFilterCopy, [B1], Unique:=True '可去掉重复数据[A2:C32].Replace What:="F", Replacement:="G" '指定范围内的查找与替换ActiveSheet.AutoFilterMode = False '取消自动筛选'执行以下语句可有效缩小工作簿的大小,执行前请先看清每条语句的作用:edRange.ClearComments '清除活动工作表已使用范围所有批注edRange.ClearFormats '清除活动工作表已使用范围所有格式edRange.Validation.Delete '取消活动工作表已使用范围的数据有效性ActiveSheet.Hyperlinks.Delete '删除活动工作表超链接ActiveSheet.DrawingObjects.Delete '删除活动工作表已使用范围的所有对象edRange = edRange.Value '取消活动工作表已使用范围的公式并保留值还有:Sub x()Dim myRange As StringmyRange = edRange.Address '去除活动工作表无数据的行列End Sub'这相当于把新的已使用区域赋值给变量,效果等同于手工删除多余的列或行后立即保存;来一个函数的Private Sub Worksheet_SelectionChange(ByVal Target As Range)'右边单元格反向显示活动单元格文本If ActiveCell.Column < 256 Then ActiveCell.Offset(0, 1) = StrReverse(ActiveCell)End SubSub test()Dim myRange As StringmyRange = edRange.AddressDebug.Print "LastRow=" & Cells.SpecialCells(xlCellTypeLastCell).RowDebug.Print "LastColumn=" & Cells.SpecialCells(xlCellTypeLastCell).ColumnmyRange = ""End Sub如上下相邻单元格数据相同则删除一个Sub Yjue()Dim myCell As Range, NCell As Range '定义Set myCell = ActiveSheet.Range("b2") '把对象ActiveSheet.Range("b2")赋给变量myCellDo While Not IsEmpty(myCell) '条件为True时执行Set NCell = myCell.Offset(1, 0) '把对象myCell的下一个单元格赋给变量NCellIf NCell.Value = myCell.Value Then '如上下相邻单元格数据相同,则望下执行myCell.Delete '删除myCellEnd If '结束条件语句Set myCell = NCell '把变量NCell赋给变量myCell,等于在循环中把原myCell下移了一格LoopEnd Sub复制行高列宽与内容:Sub Yjue() '过程的名称Sheet2.Rows("2:23").Copy '复制行区域Sheet3.Select '选择粘贴区域Range("A2").PasteSpecial Paste:=xlPasteColumnWidths '粘贴类型ActiveSheet.Paste '实施粘贴Application.CutCopyMode = False '取消复制模式End Sub如整行为空白则删除整行:Sub DelRow()Dim i As Integer, LastRow As IntegerLastRow = ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Row '把最后行的行号赋给变量For i = LastRow To 1 Step -1 '倒循环If Range("iv" & i).End(xlToLeft).Column = 1 And Range("a" & i) = "" ThenRange("a" & i).EntireRow.Delete '如整行为空白则删除整行End IfNext iEnd Sub'通过依次赋色给单元格的例子,展示简单的On Error GoTo Line1 用法:Sub Yjue() '过程名Dim i As Integer '定义i 为整型On Error GoTo Line1 '遇到错误跳转到Line1For i = 0 To 65 '予设从0 循环到65Cells(i + 1, 2).Interior.ColorIndex = i '依次赋色给第2列的单元格Cells(i + 1, 1) = i '依次给第1列的单元格标上色索引号Next iExit Sub '退出过程Line1: '遇到错误跳转到这行继续执行MsgBox "默认颜色只有" & i - 1 & "种。
VBA操作PowerPoint幻灯片的示例
VBA操作PowerPoint幻灯片的示例在现代的商业和学术环境中,PowerPoint幻灯片广泛应用于演示、培训、教育等方面。
为了提升PowerPoint幻灯片的效果,我们可以使用VBA(Visual Basic for Applications)编程语言来操作幻灯片。
VBA 是一种基于Microsoft Visual Basic的宏编程语言,可以用于自动化执行PowerPoint幻灯片中的各种任务,从而提高生产力和效率。
本文将为您提供一些VBA操作PowerPoint幻灯片的示例。
这些示例包括自动创建幻灯片、自动插入文本、图片和图表、自动设置幻灯片布局和样式,以及自动导出幻灯片为PDF等功能。
首先,让我们一起看一下如何使用VBA自动创建幻灯片。
通过以下代码,可以实现在当前演示文稿中新建一个幻灯片,并在其中插入一个文本框并设置文本内容。
```vbaSub CreateSlideWithText()Dim ppt As PresentationDim slide As SlideDim shape As ShapeSet ppt = ActivePresentationSet slide = ppt.Slides.Add(ppt.Slides.Count + 1, ppLayoutBlank)Set shape = slide.Shapes.AddTextbox(msoTextOrientationHorizontal, 100, 100, 400, 200)shape.TextFrame.TextRange.Text = "这是自动生成的幻灯片"End Sub```接下来,我们将展示如何使用VBA插入图片和图表到幻灯片中。
以下示例演示了如何选择一个图片文件,然后将其插入到当前幻灯片的指定位置。
```vbaSub InsertPicture()Dim ppt As PresentationDim slide As SlideDim shape As ShapeDim filePath As StringSet ppt = ActivePresentationSet slide = ppt.Slides(ppt.Slides.Count)filePath = "C:\Path\To\Your\Image.jpg" ' 替换为实际图片文件的路径Set shape = slide.Shapes.AddPicture(filePath, msoFalse, msoTrue, 100, 100, 400, 300)End Sub```类似地,我们还可以使用VBA在幻灯片中插入图表。
(完整word版)VBA经典常用语句400句
VBA经典常用语句400句目录一、定制模块行为 (3)二、工作簿 (3)三、单元格/单元格区域 (5)四、图表 (9)五、窗体 (10)六、事件 (11)七、对象 (12)八、其他 (13)九、工作簿 (13)十、工作表 (14)十一、公式与函数 (17)十二、图表 (17)十三、窗体和控件 (18)十四、对象 (19)十五、Range对象 (23)十六、Collection与object (25)十七、Windows API (25)十八、Application对象 (38)十九、Documents/Document对象 (40)二十、Paragraphs/Paragraph对象 (41)二十一、Sentences对象 (43)二十二、Words对象 (43)二十三、Characters对象 (43)二十四、Sections/Section对象 (43)二十五、Range对象 (44)二十六、其它 (45)一、定制模块行为(1) Option Explicit ’强制对模块内所有变量进行声明Option Private Module '标记模块为私有,仅对同一工程中其它模块有用,在宏对话框中不显示Option Compare Text ’字符串不区分大小写Option Base 1 ’指定数组的第一个下标为1(2) On Error Resume Next '忽略错误继续执行VBA代码,避免出现错误消息(3) On Error GoTo ErrorHandler '当错误发生时跳转到过程中的某个位置(4) On Error GoTo 0 '恢复正常的错误提示(5) Application.DisplayAlerts=False ’在程序执行过程中使出现的警告框不显示(6) Application。
ScreenUpdating=False '关闭屏幕刷新Application。
vba 基本语法
vba 基本语法VBA(Visual Basic for Applications)是一种用于编写宏的编程语言,被广泛应用于Microsoft Office套件中的各种应用程序,如Excel、Word和PowerPoint等。
本文将介绍VBA的基本语法和用法。
VBA基本语法包括变量声明、条件语句、循环语句和函数等。
首先,我们需要声明变量,以便在程序中存储和操作数据。
变量可以是整数、浮点数、字符串等不同类型。
例如,可以使用以下语句声明一个整型变量:Dim x As Integer接下来,我们可以使用条件语句来根据特定的条件执行不同的操作。
常见的条件语句有IF语句和SELECT CASE语句。
IF语句用于根据条件执行不同的代码块,如下所示:If x > 0 ThenMsgBox "x大于0"ElseIf x < 0 ThenMsgBox "x小于0"ElseMsgBox "x等于0"End IfSELECT CASE语句用于根据不同的条件执行不同的代码块,如下所示:Select Case xCase Is > 0MsgBox "x大于0"Case Is < 0MsgBox "x小于0"Case ElseMsgBox "x等于0"End Select除了条件语句,循环语句也是VBA中常用的语法结构之一。
循环语句用于重复执行一段代码块,直到满足特定的条件为止。
常见的循环语句有FOR循环和DO WHILE循环。
例如,以下是一个使用FOR循环输出1到10的整数的示例:For i = 1 To 10MsgBox iNext iVBA还提供了丰富的内置函数,用于执行各种常见的操作。
例如,可以使用以下函数来计算两个数的和:sum = WorksheetFunction.Sum(x, y)除了内置函数,我们还可以自定义函数来实现特定的功能。
VBA经典常用语句400句
VBA经典常用语句400句目录一、定制模块行为 (3)二、工作簿 (3)三、单元格/单元格区域 (5)四、图表 (9)五、窗体 (10)六、事件 (12)七、对象 (12)八、其他 (13)九、工作簿 (13)十、工作表 (14)十一、公式与函数 (17)十二、图表 (18)十三、窗体和控件 (18)十四、对象 (20)十五、Range对象 (23)十六、Collection与object (25)十七、Windows API (25)十八、Application对象 (39)十九、Documents/Document对象 (40)二十、Paragraphs/Paragraph对象 (42)二十一、Sentences对象 (43)二十二、Words对象 (43)二十三、Characters对象 (43)二十四、Sections/Section对象 (44)二十五、Range对象 (45)二十六、其它 (46)一、定制模块行为(1) Option Explicit '强制对模块内所有变量进行声明Option Private Module '标记模块为私有,仅对同一工程中其它模块有用,在宏对话框中不显示Option Compare Text '字符串不区分大小写Option Base 1 '指定数组的第一个下标为1(2) On Error Resume Next '忽略错误继续执行VBA代码,避免出现错误消息(3) On Error GoTo ErrorHandler '当错误发生时跳转到过程中的某个位置(4) On Error GoTo 0 '恢复正常的错误提示(5) Application.DisplayAlerts=False '在程序执行过程中使出现的警告框不显示(6) Application.ScreenUpdating=False '关闭屏幕刷新Application.ScreenUpdating=True '打开屏幕刷新(7) Application.Enable.CancelKey=xlDisabled '禁用Ctrl+Break中止宏运行的功能二、工作簿(8) Workbooks.Add() '创建一个新的工作簿(9) Workbooks(“book1.xls”).Activate '激活名为book1的工作簿(10) ThisWorkbook.Save '保存工作簿(11) ThisWorkbook.close '关闭当前工作簿(12) ActiveWorkbook.Sheets.Count '获取活动工作薄中工作表数(13) '返回活动工作薄的名称(14) ‘返回当前工作簿名称ThisWorkbook.FullName ‘返回当前工作簿路径和名称(15) ActiveWindow.EnableResize=False ‘禁止调整活动工作簿的大小(16) Application.Window.Arrange xlArrangeStyleTiled ‘将工作簿以平铺方式排列(17) ActiveWorkbook.WindowState=xlMaximized ‘将当前工作簿最大化工作表(18) edRange.Rows.Count ‘当前工作表中已使用的行数(19) Rows.Count ‘获取工作表的行数(注:考虑向前兼容性)(20) Sheets(Sheet1).Name= “Sum”'将Sheet1命名为Sum(21) ThisWorkbook.Sheets.Add Before:=Worksheets(1) '添加一个新工作表在第一工作表前(22) ActiveSheet.Move After:=ActiveWorkbook. _Sheets(ActiveWorkbook.Sheets.Count) '将当前工作表移至工作表的最后(23) Worksheets(Array(“sheet1”,”sheet2”)).Select '同时选择工作表1和工作表2(24) Sheets(“sheet1”).Delete或Sheets(1).Delete '删除工作表1(25) ActiveWorkbook.Sheets(i).Name '获取工作表i的名称(26) ActiveWindow.DisplayGridlines=Not ActiveWindow.DisplayGridlines '切换工作表中的网格线显示,这种方法也可以用在其它方面进行相互切换,即相当于开关按钮(27)ActiveWindow.DisplayHeadings=NotActiveWindow.DisplayHeadings ‘切换工作表中的行列边框显示(28) edRange.FormatConditions.Delete ‘删除当前工作表中所有的条件格式(29) Cells.Hyperlinks.Delete ‘取消当前工作表所有超链接(30) ActiveSheet.PageSetup.Orientation=xlLandscape或ActiveSheet.PageSetup.Orientation=2 '将页面设置更改为横向(31) ActiveSheet.PageSetup.RightFooter=ActiveWorkbook.FullName ‘在页面设置的表尾中输入文件路径ActiveSheet.PageSetup.LeftFooter=erName ‘将用户名放置在活动工作表的页脚三、单元格/单元格区域(32) ActiveCell.CurrentRegion.Select或Range(ActiveCell.End(xlUp),ActiveCell.End(xlDown)).Select'选择当前活动单元格所包含的范围,上下左右无空行(33) Cells.Select ‘选定当前工作表的所有单元格(34) Range(“A1”).ClearContents '清除活动工作表上单元格A1中的内容Selection.ClearContents '清除选定区域内容Range(“A1:D4”).Clear '彻底清除A1至D4单元格区域的内容,包括格式(35) Cells.Clear '清除工作表中所有单元格的内容(36) ActiveCell.Offset(1,0).Select '活动单元格下移一行,同理,可下移一列(37) Range(“A1”).Offset(ColumnOffset:=1)或Range(“A1”).Offset(,1)‘偏移一列Range(“A1”).Offset(Rowoffset:=-1)或Range(“A1”).Offset(-1) ‘向上偏移一行(38) 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属性等价于定位命令,由一个矩形单元格块组成,周围是一个或多个空行或列本示例选定工作表Sheet1 上的当前区域。
VBA语句集100句
VBA语句集100句(第2辑)下面是我在学习VBA过程中积累的一些VBA语句,希望能对大家有所帮助.也可以参见我的博客.VBA语句集(第2辑)*******************************************************定制模块行为(101) Err.Clear …清除程序运行过程中所有的错误*******************************************************工作簿(102) ThisWorkbook.BuiltinDocumentProperties(“Last Save Time”)或Application.Caller.Parent.Parent.BuiltinDocumentProperties(“Last Save Time”) …返回上次保存工作簿的日期和时间(103) ThisWorkbook.BuiltinDocumentProperties("Last Print Date")或Application.Caller.Parent.Parent.BuiltinDocumentProperties(“Last Print Date”) …返回上次打印或预览工作簿的日期和时间(104) Workbooks.Close …关闭所有打开的工作簿(105) ActiveWorkbook.LinkSources(xlExcelLinks)(1) …返回当前工作簿中的第一条链接(106) ActiveWorkbook.CodeNameT hisWorkbook.CodeName …返回工作簿代码的名称(107) ActiveWorkbook.FileFormatThisWorkbook.FileFormat …返回当前工作簿文件格式代码(108) ThisWorkbook.PathActiveWorkbook.Path …返回当前工作簿的路径(注:若工作簿未保存,则为空)(109) ThisWorkbook.ReadOnlyActiveWorkbook.ReadOnly …返回当前工作簿的读/写值(为False)(110) ThisWorkbook.SavedActiveWorkbook.Saved …返回工作簿的存储值(若已保存则为False)(111) Application.Visible = False …隐藏工作簿Application.Visible = True …显示工作簿注:可与用户窗体配合使用,即在打开工作簿时将工作簿隐藏,只显示用户窗体.可设置控制按钮控制工作簿可见*******************************************************工作表(112) ActiveSheet.Columns("B").Insert …在A列右侧插入列,即插入B列ActiveSheet.Columns("E").CutActiveSheet.Columns("B").Insert …以上两句将E列数据移至B列,原B列及以后的数据相应后移ActiveSheet.Columns("B").CutActiveSheet.Columns("E").Insert …以上两句将B列数据移至D列,原C列和D列数据相应左移一列(113) ActiveSheet.Cal culate …计算当前工作表(114) ThisWorkbook.Worksheets(“sheet1”).Visible=xlSheetHidden …正常隐藏工作表,同在Excel菜单中选择“格式——工作表——隐藏”操作一样ThisWorkbook.Worksheets(“sheet1”).Visible=xlSheetVeryHidden …隐藏工作表,不能通过在Excel菜单中选择“格式——工作表——取消隐藏”来重新显示工作表ThisWorkbook.Worksheets(“sheet1”).Visible=xlSheetVisible …显示被隐藏的工作表(115) ThisWorkbook.Sheets(1).ProtectContents …检查工作表是否受到保护(116) ThisWorkbook.Worksheets.Add Count:=2, _Before:=ThisWorkbook.Worksheets(2)或ThisWorkbook.Workshees.Add ThisWorkbook.Worksheets(2), , 2 …在第二个工作表之前添加两个新的工作表(117) ThisWorkbook.Worksheets(3).Copy …复制一个工作表到新的工作簿(118) ThisWorkbook.Worksheets(3).Copy ThisWorkbook.Worksheets(2) …复制第三个工作表到第二个工作表之前(119) ThisWorkbook.ActiveSheet.Columns.ColumnWidth = 20 …改变工作表的列宽为20 ThisWorkbook.ActiveSheet.Columns.ColumnWidth = _T hisWorkbook.ActiveSheet.StandardWidth …将工作表的列宽恢复为标准值ThisWorkbook.ActiveSheet.Columns(1).ColumnWidth = 20 …改变工作表列1的宽度为20 (120) ThisWorkbook.ActiveSheet.Rows.RowHeight = 10 …改变工作表的行高为10 ThisWorkbook.ActiveSheet.Rows.RowHeight = _ThisWorkbook.ActiveSheet.St andardHeight …将工作表的行高恢复为标准值ThisWorkbook.ActiveSheet.Rows(1).RowHeight = 10 …改变工作表的行1的高度值设置为10(121) ThisWorkbook.Worksheets(1).Activate …当前工作簿中的第一个工作表被激活(122) ThisWorkbook.Worksheets("Sheet1").Rows(1).Font.Bold = True …设置工作表She et1中的行1数据为粗体(123) ThisWork book.Worksheets("Sheet1").Rows(1).Hidden = True …将工作表Sheet1中的行1隐藏ActiveCell.EntireRow.Hidden = True …将当前工作表中活动单元格所在的行隐藏注:同样可用于列。
VBA程序流程控制语句幻灯片PPT
条件测试语句
例:输入一学生成绩,评定其等级。方法是:90~100分 为“优秀〞,80~89分为“良好〞,70~79分为“中等〞, 60~69分为“及格〞,60分以为“不合格〞
使用IF语句实现的程序段如下: If x>=90 then
Print "优秀" ElseIf x>=80 Then
Print "良好" ElseIf x>=70 Then
循环语句
循环次数 In(终 t步 值 初长 值 1)
例: For I=2 To 13 Step 3 Print I ,
Next I Print “I=“, I
循环执行次数 : 4 输出I的值分别为:
2 5 8 11 出了循环输出为: I=14
循环语句
例 编程计算:S=1+2+3+…+100 Dim S%, I% S=0 ' 累加前变量S为0 For I=1 to 100 S=S+I Next I Print " S=",S
…
[Case Else
语句块n+1]
条件测试语句
例如:将例 使用select case…..语句来实现的程序段如下: Select Case x
Case 90 to 100 Print "优秀"
Case 80 to 89 Print "良好"
Case 70 to 79 Print "中等"
Case 60 to 69 Print "及格"
1. If…Then语句(单分支构造)
N 条件
2. If <表达式> Then
在ppt中vba介绍很有用阿
在ppt中vba都有哪些属性,类,方法1.Application对象该对象代表PowerPoint应用程序,通过该对象可访问PowerPoint中的其他所有对象。
(1)Active属性:返回指定窗格是否被激活。
(2)ActivePresentation属性:返回Presentation对象,代表活动窗口中打开的演示文稿。
(3)ActiveWindow属性:返回DocumentWindow对象,代表当前文档窗口。
(4)Presentations属性:返回Presentations集合,代表所有打开的演示文稿。
(5)SlideShowWindows属性:返回 SlideShowWindows集合,代表所有打开的幻灯片放映窗口。
(6)Quit方法:用于退出PowerPoint程序。
2.DocumentWindow对象该对象代表文档窗口。
使用“Windows(index) ”语法可返回DocumentWindow对象。
(1)ActivePane属性:返回Pane对象,代表文档窗口中的活动窗格。
(2)Panes属性:返回Panes集合,代表文档窗口中的所有窗格。
(3)ViewType属性:返回指定的文档窗口内的视图类型。
[NextPage]3.Presentation对象该对象代表演示文稿,通过“Presentations(index)”语法可返回Presentation对象。
(1)BuiltInDocumentProperties属性:返回DocumentProperties集合,代表演示文稿的所有文档属性。
(2)ColorSchemes属性:返回ColorSchemes 集合,代表演示文稿的配色方案。
(3)PageSetup属性:返回PageSetup对象,用于控制演示文稿的幻灯片页面设置属性。
(4)SlideMaster属性:返回幻灯片母版对象。
(5)SlideShowSettings属性:返回SlideShowSettings对象,代表演示文稿的幻灯片放映设置。
VBA在PowerPoint中的应用技巧总结
VBA在PowerPoint中的应用技巧总结PowerPoint是一款广泛应用于演示文稿制作的软件,而VBA(Visual Basic for Applications)则是一种编程语言,可以通过编写宏来自动化执行各种任务。
在这篇文章中,我们将介绍一些VBA在PowerPoint中的常见应用技巧,以帮助您更高效地使用这两个工具。
1. 创建演示文稿和幻灯片使用VBA,您可以通过编写代码来创建新的演示文稿和幻灯片,从而使您能够自动化这个过程。
例如,您可以使用下面的代码来创建一个新的演示文稿:```Sub CreateNewPresentation()Dim pptApp As PowerPoint.ApplicationDim pptPres As PowerPoint.PresentationSet pptApp = New PowerPoint.ApplicationSet pptPres = pptApp.Presentations.AddpptApp.Visible = TrueEnd Sub```2. 控制演示文稿中的幻灯片VBA还可以帮助您对演示文稿中的现有幻灯片进行操作。
您可以使用下面的代码来选择特定的幻灯片,并进行一些操作:```Sub SelectSlide()Dim pptApp As PowerPoint.ApplicationDim pptPres As PowerPoint.PresentationDim pptSlide As PowerPoint.SlideSet pptApp = New PowerPoint.ApplicationSet pptPres = pptApp.Presentations.Open("C:\Presentation.pptx")Set pptSlide = pptPres.Slides(1)' 选择第一张幻灯片pptSlide.Select' 在幻灯片上插入文本框pptSlide.Shapes.AddTextbox(msoTextOrientationHorizontal, 100, 100, 500, 300).TextFrame.TextRange.Text = "Hello World"' 删除幻灯片pptSlide.DeletepptPres.SavepptPres.CloseEnd Sub```3. 自动执行动画效果PowerPoint中的动画效果可以使您的演示更生动有趣。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
PPT VBA常用语句结束放映的语句SlideShowWindows(Index:=1).View.Exit关闭当前窗口Application.Windows.Item(1).Close关闭PPTApplication.Quit在ppt中用VBA实现多个文档的打开和关闭Sub Ctest()//关闭当前文档ActivePresentation.Close//打开另外一个文档Presentations.Open "C:\Documents and Settings\Administrator\桌面\FILE 2.ppt"//如果你要新打开的文档开始播放的话,加上下面的一句ActivePresentation.SlideShowSettings.RunEnd Sub跳到某一张幻灯片:With SlideShowWindows(1).View.GotoSlide 2End With文本框控件:Slide5.TextBox1.Text=”888”文本框:Slide1.Shapes("Text Box 7").TextFrame.TextRange.Text = "999999"图形元件:Slide1.Shapes("Oval 9").Visible = msoFalse图片元件ActivePresentation.Slides(1).Shapes("Picture 29").Height = 0ActivePresentation.Slides(1).Shapes("Picture 29").Width = 0一、OnSlideShowPageChange宏的使用下面我们来研究一下这两个宏的功能与运行的条件。
先来看OnSlideShowPageChange 宏,我们新建一个演示文稿,并把PowerPoint宏的安全级别设置为启用全部宏,在演示文稿中添加几张幻灯片,为便于测试说明,从第一张幻灯片开始,我们按顺序给它们输入数字编号"1、2、3、4……",再按Alt+F11快捷键启动VBA编辑器,在其中插入一个模块,向代码窗口中输入如下代码:Sub OnSlideShowPageChange()MsgBox "I love you, PowerPoint."End Sub点击"保存"按钮,保存文档,文件名如Test.ppt(PowerPoint 2007中为Test.pptm),返回幻灯片编辑视图,按F5键进行放映,我们首先会看到一个显示"I love you, PowerPoint."的消息框,点击确定后,放映第一张幻灯片,再点击鼠标左键,放映到第二张,也会出现同样的消息框,后面各张的放映的情形也是这样。
这说明我们的宏在放映时及放映过程中被正确地执行了,还说明这个宏是在放映时就自动运行,以后只要有幻灯片切换都会被激发而运行。
根据它的特性,只要是在幻灯片放映开始时就要完成的任务,或是放映过程中需要不断重复做的处理都可以交给它来完成。
同时,这个宏也很适合用来对PowerPoint放映环境进行初始化设置,不过应做一下改进,因为初始化只需要一次,反复做会浪费系统资源,改进后的示例代码如下:Sub OnSlideShowPageChange()If ActivePresentation.SlideShowWindow.View.CurrentShowPosition = 1 ThenMsgBox "I love you, PowerPoint."End IfEnd Sub再保存后运行,怎么样,是不是只在放映开始时出现一次消息框,以后幻灯片再切换就看不到消息框了,我们的目的达到了,今后在实际开发中只是放映过程中要反复执行的代码块就放在Sub OnSlideShowPageChange()和End Sub之间,即代替掉"If Then End If"语句块,凡是开始放映时只需运行一次的代码块就放在If ActivePresentation.SlideShowWindow.View.CurrentSho wPosition = 1 Then和End If之间,即把MsgBox "I love you,PowerPoint."语句替换成我们自己的代码块就行了。
二、OnSlideShowTerminate宏的使用现在我们再来研究一下OnSlideShowTerminate宏的用法,还是用前面建立的PowerPoint 实列文档Test.ppt,打开文档后在VBA编辑器窗口中输入下面的代码:Sub OnSlideShowTerminate()MsgBox "Good bye, and take care!"End Sub保存后返回PowerPoint幻灯片编辑视图,按F5进行放映,在放映开始出现显示"I love you, PowerPoint."消息框,这是OnSlideShowPageChange宏的功劳,前面已讲过,点"确定"后继续播放直至结束,我们又会看到一个写着"Good bye, and take care!"的消息框,现在是OnSlideShowTerminate宏在起作用。
由此我们可以看出,OnSlideShowTerminate宏只在结束幻灯片放映时被激活发挥作用,用它我们可以处理放映完成后的环境清理工作,只要把我们的相关代码放在Sub OnSlideShowTerminate()和End Sub中间替换掉MsgBox "Good bye, and take care!"语句就OK了。
下面的資料是平時使用到的一些數據庫連接方式﹐可能不太全﹐但是可以用來當做資料查詢﹐希望能夠幫上大家的忙。
下面將簡單介紹一下幾種ADO連接方式﹕ODBC DSN,ODBC DSN-Less, OLE DB Provider,和"MS Remote" Provider.I.DSNoConn.Open "DSN=AdvWorks; UID=Admin; PWD=;"注意﹕從MDAC2.1開始就不能夠在使用這樣的方式了﹐就是只把DSN文件名放在ConnectString中。
你必須同時使用DSN﹐UID﹐PWD標志。
例如下面的方式在MDAC 2.1中將會出錯﹕oConn.Open "AdvWorks"II.File DSNoConn.Open "FILEDSN=\somepath\mydb.dsn; UID=Admin; PWD=;"III.ODBC DSN-Less Connectionsa)ODBC Text DriveroConn.Open "Driver={Microsoft Text Driver (*.txt; *.csv)}; Dbq=\somepath\;" & "Extensions=asc,csv,tab,txt; Persist Security Info=False"注意﹕需要在SQL語句中指定使用到的文件名。
例如﹕oRs.Open "Select * From customer.csv", oConn, adOpenStatic, adLockReadOnly, adCmdTextb)ODBC Driver for Accessi)普通安全模式﹕oConn.Open "Driver={Microsoft Access Driver (*.mdb)};" & _"Dbq=\somepath\mydb.mdb; Uid=Admin; Pwd=;"ii)如果使用了System database:oConn.Open "Driver={Microsoft Access Driver (*.mdb)};" & _"Dbq=\somepath\mydb.mdb; SystemDB=\somepath\mydb.mdw;", "admin", ""c)ODBC Driver for SQL Serveri)普通安全模式oConn.Open "Driver={SQL Server}; Server=carl2;" & _"Database=pubs; Uid=sa; Pwd=;"ii)使用信任安全模式﹕oConn.Open "Driver={SQL Server}; Server=carl2;" & _"Database=pubs; Uid=; Pwd=;"注意﹕要使用空白的Uid和Pwdd)ODBC Driver for Oraclei)使用現有的Oracle ODBC Driver from Microsoft:oConn.Open "Driver={Microsoft ODBC for Oracle};" & _"Server=OracleServer.world; Uid=demo; Pwd=demo;"ii)使用老版本的Oracle ODBC Driver from Microsoft:oConn.Open "Driver={Microsoft ODBC Driver for Oracle};" & _"ConnectString=OracleServer.world; Uid=demo; Pwd=demo;"IV)使用微軟的OLE DB Data Link Connections方式Data Link File (UDL)a)使用絕對路徑oConn.Open "File Name=\somepath\pubs.udl;"b)使用相對路徑oConn.Open "File Name=pubs.udl;"V)OLE DB Provider Connections方式a)OLE DB Provider for ODBC Databasesi)Access (Jet):oConn.Open "Provider=MSDASQL; Driver={Microsoft Access Driver (*.mdb)};" & _ "Dbq=\somepath\mydb.mdb; Uid=Admin; Pwd=;"ii)SQL Server:oConn.Open "Provider=MSDASQL; Driver={SQL Server};" & _"Server=carl2; Database=pubs; Uid=sa; Pwd=;"b)OLE DB Provider for Microsoft Jet (Access)i)普通安全模式﹕oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _"Data Source=\somepath\mydb.mdb; User Id=admin; Password=;"ii)如果使用了System database:oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _"Data Source=\somepath\mydb.mdb; Jet OLEDB:System Database=system.mdw;", "admin", ""注意﹕當使用OLE DB Provider4.0版本是﹐需要把MDB和MDW文件轉換成4.0的數據庫格式iii)如果MDB需要一個數據庫密碼的話﹕oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _"Data Source=\somepath\mydb.mdb; Jet OLEDB:Database Password=MyDbPassword;", "admin", ""c)OLE DB Provider for Excel Spreadsheet:oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=\somepath\expenses.xls;"& _"Extended Properties=Excel 8.0;HDR=Yes;"注意﹕"HDR=Yes"表示在第一行中是行標題﹐在provider中將不把第一行包括入recordset中d)OLE DB Provider for SQL Serveri)普通安全模式﹕oConn.Open "Provider=sqloledb; Network Library=DBMSSOCN;" & _"Data Source=carl2; Initial Catalog=pubs; User Id=sa; Password=;"ii)使用信任安全模式﹕oConn.Open "Provider=sqloledb; Network Library=DBMSSOCN;" & _"Data Source=carl2; Initial Catalog=pubs; Trusted_Connection=yes;"注意﹕"Network Library=DBMSSOCN"聲明OLE DB使用TCP/IP替代Named Pipes.e)OLE DB Provider for OracleoConn.Open "Provider=msdaora; Data Source=OracleServer.world;" & _"User Id=sa; Password=;"(VI)Remote OLE DB Provider Connections方式﹙就是RDS方式﹚﹕a)MS Remote - Access (Jet)i)ODBC DSN:oConn.Open "Remote Server=http://carl2; Remote Provider=MSDASQL;" & _ "DSN=AdvWorks; Uid=admin; Pwd=;"ii)OLE DB Provider:oConn.Open "Provider=MS Remote; Remote Server=http://carl2;" & _"Remote Provider=Microsoft.Jet.OLEDB.4.0; Data Source=\somepath\mydb.mdb;", "admin", ""iii)OLE DB Provider自定義事務對象oConn.Open "Provider=MS Remote; Remote Server=http://carl2;" & _"Handler=MSDFMAP.Handler; Data Source=MyAdvworksOLEDBConnectTag;"b)MS Remote - SQL Serveri)ODBC DSN:oConn.Open "Remote Server=http://carl2; Remote Provider=MSDASQL;" & _ "Network Library=DBMSSOCN; DSN=Pubs; Uid=sa; Pwd=;"ii)OLE DB ProvideroConn.Open "Provider=MS Remote; Remote Server=http://carl2;" & _"Remote Provider=SQLOLEDB; Network Library=DBMSSOCN;" & _"Data Source=carl2; Initial Catalog=pubs; User ID=sa; Password=;"Set objConn = New ADODB.ConnectionobjConn.ConnectionString = "Provider=MSDAORA.1;" & _ "User ID=rltest;" & _"Password=slidbope;" & _"Data Source。