VBA常用代码-EXCEL资料讲解

合集下载

EXCEL-VBA代码讲义

EXCEL-VBA代码讲义

VBA基础代码笔记[1]Sub 宏名#宏开始[2]End Sub #宏结束[3]Cells(行#指数字,列#指数字) #cells指单元格的意思[4]变量比如:x=cells(1,2)注意:尽量使用英文或者拼音,不要使用数字开头,不和系统保留字重名[5]赋值= 比如:cell s(1,2)=”+”[6]Option Explicit #必须写在顶部,告诉VBA你要登记变量[7]Dim r,s,l #登记了r,s,l这些变量,在sub后,变量前[8]Const pi=3.14159 #声明pi是常量,永远为3.14159,不允许中途修改(否则报错)[9]For i=11 to 20 Step 1 #让i从11变化到20每步增加1#此为循环结构…………#循环体Next i#循环变量#Next i中的i可以省略#step 1可以省略(省略后按默认值执行)[10]Tab键代码缩进,使代码层次分明。

[11]分支结构正常分支结构:[12]关系运算符:不等于:<>[14]调试(1)VBA报错仅限于:①语法错误,如将if写成ie②编译错误,如调用了未声明的变量③运行时出错,如将一个数字除以0(2)逻辑错误报错:调试①设置断点:点击左侧的灰色区域②单步执行:按下F8③添加监视:调试菜单下[15]字符串:必须用双引号括起来,空格也可以是字符串,空字符串也是字符串””,大写字符串与小写字符串不同,数字字符串不是数字。

&这个符号表示连接字符串;注意&两边必须要有空格(尤其变量名加&)[16]逻辑运算:And,Or,Not,并且not优先于And优先于or。

[17]录制宏:常见操作:row(i & “:” i).select #删除行Cells(r,c)返回的就是一个range对象注意删除行后行号会改变对于此可使用step-1(或者使用正序加上i=i-1)[18]While循环结构:[19]Rem #注释[20]面向对象:Worksheets.Count #代表工作表中有多少张工作表Worksheets.Add #新建一个工作表为excel添加10张工作表:[21]用worksheets引用工作表的两种形式:①位置,如worksheets(5)②根据工作表的名称,如work sheets(“总分榜”)[22]示例一:提取数据写入制定位置[23]过程调用调用过程也可以只写过程名,省略关键字call[24]函数(function):过程的一种,参数:参数可以多个,用逗号隔开。

EXCEL VBA常用代码实战大全

EXCEL VBA常用代码实战大全

VBA常用技巧目录VBA常用技巧---------------------------------------------------- 第1章Range(单元格)对象--------------------------------- 技巧1 ---------------------------------- 单元格的引用方法1-1 ---------------------------------- 使用Range属性1-2 ---------------------------------- 使用Cells属性1-3 ------------------------------------ 使用快捷记号1-4 --------------------------------- 使用Offset属性1-5 --------------------------------- 使用Resize属性1-6 ---------------------------------- 使用Union方法1-7 ------------------------------ 使用UsedRange属性1-8 -------------------------- 使用CurrentRegion属性技巧2 ------------------------------ 选定单元格区域的方法2-1 --------------------------------- 使用Select方法2-2 ------------------------------- 使用Activate方法2-3 ----------------------------------- 使用Goto方法技巧3 -------------- 获得指定行、列中的最后一个非空单元格技巧4 ---------------------------------------- 定位单元格技巧5 ---------------------------------------- 查找单元格5-1 ----------------------------------- 使用Find方法5-2 --------------------------------- 使用Like运算符技巧6 -------------------------------- 替换单元格内字符串技巧7 ------------------------------------ 复制单元格区域技巧8 ------------------------------ 仅复制数值到另一区域8-1 ---------------------------------- 使用选择性粘贴8-2 ---------------------------------- 直接赋值的方法技巧9 ---------------------------- 单元格自动进入编辑状态技巧10 ------------------------------- 禁用单元格拖放功能2技巧11 ----------------------------------- 单元格格式操作11-1 ----------------------------- 单元格字体格式设置11-2 ----------------------------- 设置单元格内部格式11-3 --------------------------- 为单元格区域添加边框11-4 ----------------------- 灵活设置单元格的行高列宽错误!未定义书签。

vba编程excel入门实例

vba编程excel入门实例

VBA编程是一种用于Microsoft Excel等Office软件的宏语言,它可以帮助用户自动化重复性的任务,提高工作效率。

VBA编程在Excel 中应用广泛,本文将通过一些入门实例来介绍VBA编程在Excel中的应用。

一、VBA编程的基本概念VBA全称Visual Basic for Applications,是一种集成于Microsoft Office软件中的宏语言,它可以让用户编写代码来控制Office软件,实现自动化操作。

VBA编程的基本概念包括:1. VBA的基本语法:VBA语言与Visual Basic语言类似,包括变量声明、条件语句、循环语句、函数和子程序等基本语法。

2. VBA对象模型:Office软件提供了丰富的对象模型,用户可以通过VBA编程来操作这些对象,实现各种功能。

3. VBA的事件驱动:VBA编程可以响应Office软件的各种事件,比如单元格数值改变、工作表激活等,从而实现动态的交互操作。

二、VBA编程在Excel中的应用实例下面将通过一些实际的应用示例来介绍VBA编程在Excel中的使用。

1. 自动填充数据假设我们需要在Excel中填充一个等差数列,可以通过VBA编写一个简单的程序来实现自动填充:```vbaSub AutoFillData()Dim i As IntegerFor i = 1 To 10Cells(i, 1).Value = iNext iEnd Sub```通过上面的程序,我们可以在单元格A1到A10中自动填充1到10的数字。

2. 自动筛选数据在Excel中,我们经常需要筛选数据来进行分析,通过VBA编程可以实现自动筛选功能:```vbaSub AutoFilterData()Range("A1:D10").AutoFilter Field:=1, Criteria1:=">10"End Sub```上面的程序可以实现对A1到D10范围的数据进行筛选,只显示第一列大于10的数据。

VBAExcel工作表代码总结

VBAExcel工作表代码总结

工作表增加工作表1、添加工作表 Sheets.Add2、在最后工作表后添加新工作表Sheets.Add after:=Sheets(Sheets.Count)3、在第1工作表前添加新工作表 Sheets.Add before:=Sheets(1)4、在第五个工作表之后添加三个Worksheets.Add after:=Worksheets(5), Count:=3删除工作表5、删除工作表1 Sheets(“sheet1”).Delete或 Sheets(1).Delete6、删除当前工作表 ActiveWindow.Selected Sheets.Delete或ActiveSheet.Delete7、删除工作表1 Sheets(“sheet1”).Delete或 Sheets(1).Delete显示隐藏工作表8、隐藏SHEET1这张工作表sheets("sheet1").Visible=False9、显示SHEET1这张工作表sheets("sheet1").Visible=True10、深度隐藏工作表 Sheet1.Visible = 211、显示工作表 Sheet1.Visible = -1工作表名字/命名12、获取工作表i的名称 ActiveWorkbook.Sheets(i).Name13、当前工作表命名 = "www"14、Sheets(Sheet1).Name= “Sum” '将Sheet1命名为Sum15、返回活动工作表的名称 16、返回活动窗口的标题 Application.ActiveWindow.Caption17、返回活动工作簿的名称 关闭/保存工作表18、将该表格保存到C:\test.xls 目录 ExcelSheet.SaveAs "C:\TEST.XLS"19、关闭同时保存 Workbooks("filename.xls").Close savechanges:=True20、关闭同时不保存 Workbooks("filename.xls").Close savechanges:=False21、不保存直接关闭当前的工作簿Workbooks("BOOK1.XLS").Close SaveChanges:=False22、不保存直接关闭EXCEL窗口(关闭所有的工作簿)的VBA语句Application.DisplayAlerts = False Application.Quit选择工作表23、同时选择工作表1和工作表2 Worksheets(Array(“sheet1”,”sheet2”)).Select24、选定下(上)一个工作表sheets(activesheet.index-1).select sheets(activesheet.index+1).select移动工作表25、ActiveSheet.Move After:=ActiveWorkbook. _Sheets(ActiveWorkbook.Sheets.Count) '将当前工作表移至工作表的最后文件(夹)操作26、建立文件夹的方法 MkDir "D:\Music"27、打开文件夹的方法ActiveWorkbook.FollowHyperlink Address:="D:\Music",NewWindow:=True28、删除一个文件 kill "c:\1.txt"29、退出EXCEL Application.Quit保护工作表30、保护工作表使其不至被修改。

Excel VBA常用代码及解释

Excel VBA常用代码及解释

Excel 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) ThisWorkbook.Save解释:保存工作簿(13) ThisWorkbook.close解释:关闭当前工作簿(14) ActiveWorkbook.Sheets.Count解释:获取活动工作薄中工作表数(15) Active 解释:返回活动工作薄的名称(16) This 解释:返回当前工作簿名称(17) ThisWorkbook.FullName解释:返回当前工作簿路径和名(18) edRange.Rows.Count解释:当前工作表中已使用的行数(19) Rows.Count解释:获取工作表的行数(20) Sheets(Sheet1).Name= “Sum”解释:将Sheet1命名为Sum(21) ThisWorkbook.Sheets.Add Before:=Worksheets(1) 解释:添加一个新工作表在第一工作表前(22)ActiveSheet.MoveAfter:=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) ActiveCell.CurrentRegion.Select选择当前活动单元格所包含的范围,等同于快捷键Ctrl+A(28) Cells.Select解释:选定当前工作表的所有单元格(29) Range(“A1”).ClearContents解释:清除活动工作表上单元格A1中的内容。

excel常用vba代码 和语法

excel常用vba代码 和语法

excel常用vba代码和语法Excel VBA(Visual Basic for Applications)是一种为Excel编程的语言,可以使用VBA代码来自动化执行各种操作。

以下是一些常用的VBA代码和语法示例:1. 定义和使用变量:```vbaDim num As Integernum = 10```2. 循环结构:- For循环:```vbaFor i = 1 To 10' 循环体Next i```- While循环:```vbaWhile i < 10' 循环体i = i + 1Wend```3. 条件判断:- If语句:```vbaIf condition Then' 条件满足时执行的代码ElseIf condition Then' 第二个条件满足时执行的代码Else' 条件不满足时执行的代码End If```- Select Case语句:```vbaSelect Case gradeCase "A"' A级别操作Case "B", "C"' B或C级别操作Case Else' 其他情况的操作End Select```4. 定义和调用子过程(函数):```vbaSub MySubroutine()' 子过程的代码End SubFunction MyFunction()' 函数的代码MyFunction = resultValue ' 返回结果End Function```5. 控制Excel对象:- 打开和关闭工作簿:```vbaWorkbooks.Open ("C:\example.xlsx") ActiveWorkbook.Close```- 读取和写入单元格:```vbaRange("A1").Value = "Hello"value = Range("A1").Value```- 获取和设置工作表属性:```vbaSheets("Sheet1").Activate Worksheets.Add```这些示例演示了一些常用的VBA代码和语法。

(word完整版)Excel VBA常用技巧代码

(word完整版)Excel VBA常用技巧代码

1.删除重复行 (1)2. ActiveX控件的相关操作 (1)3. 单元格内容匹配 (2)4。

单元格填充公式 (3)5。

弹出打开对话框 (3)6. 操作文件夹下的所有工作簿 (3)7. 获取数据区域的最后一行和最后一列 (4)8. 获取列的字母顺序[A~IV] (4)9. 自定义函数返回数组并填充至单元格区域 (4)10. 绘制曲线图 (5)11. 单元格区域拷贝 (5)12. 操纵数据库(查、增、删、改) (6)13。

待定XX (6)1.删除重复行关键字:[a65536].End(xlUp).Row、Offset()、相关双层循环Sub RemoveDuplicate()'删除重复行For i = [a65536].End(xlUp)。

Row — 1 To 1 Step —1 '按倒叙删除For j = [a65536]。

End(xlUp).Row To i + 1 Step —1If Cells(i, 1)。

Value = Cells(j, 1).Value ThenRows(i)。

DeleteEnd IfNextNextEnd SubSub RemoveItem()'删除相邻重复,但不删除隔行重复Dim i As LongWith Range("A2”)’以A2为基准进行单元格偏移Do While .Offset(i, 0)If .Offset(i, 0)。

Value = .Offset(i — 1, 0)。

Value Then 。

Offset(i, 0).EntireRow.Delete i = i + 1LoopEnd WithEnd Sub2.ActiveX控件的相关操作关键字:ActiveX、OLEObjects、ActiveSheet。

OLEObjects遍历控件Dim c As ObjectFor Each c In ActiveSheet.OLEObjectsIf = ”ComboBox” & i Then’…………。

VBAforEXCEL教程

VBAforEXCEL教程

VBAforEXCEL教程VBA(for Visual Basic for Applications)是微软Excel中的一种编程语言,它允许用户通过编写和执行自定义宏来自动化和扩展Excel的功能。

在本教程中,我们将介绍VBA的基础知识,以帮助您开始使用VBA编写自己的Excel宏。

第一部分:VBA入门1. 启用开发者选项:在Excel中,点击"文件"菜单,再点击"选项",然后在"自定义功能区"选项卡中勾选"开发工具"复选框,点击"确定"。

第二部分:VBA基础知识3. Sub过程:Sub过程是VBA代码的基本单元。

它以关键字"Sub"开头,后跟过程的名称。

Sub过程包含了要执行的代码块。

4.注释:注释是在VBA代码中添加的文本,用于提供对代码的说明。

注释是以单引号(')开头的行。

5. 对象和属性:在VBA中,您可以访问Excel工作簿、工作表和单元格等对象,以及它们的属性和方法。

属性指定对象的特性,方法执行对象的操作。

第三部分:VBA代码示例下面是一些常见的VBA代码示例,可以帮助您开始使用VBA编写Excel宏。

1.显示消息框Sub ShowMessageMsgBox "Hello, World!"End Sub2.循环Sub LoopExampleDim i As IntegerFor i = 1 To 10MsgBox "Value: " & iNext iEnd Sub3.访问单元格的值Sub AccessCellValueDim value As Variantvalue = ActiveSheet.Cells(1, 1).Value MsgBox "Cell Value: " & valueEnd Sub4.条件语句Sub ConditionalStatementDim value As Integervalue = 10If value > 5 ThenMsgBox "Value is greater than 5" ElseMsgBox "Value is not greater than 5" End IfEnd Sub5.调用其他过程Sub MainProcedureCall SubProcedure1Call SubProcedure2End SubSub SubProcedure1MsgBox "This is SubProcedure1"End SubSub SubProcedure2MsgBox "This is SubProcedure2"End Sub这些示例演示了VBA基础知识的一些常见用法,您可以根据自己的需求进行进一步的学习和实践。

EXCEL-VBA编程常用代码

EXCEL-VBA编程常用代码
sheets("sheet1").Visible=False '显示 SHEET1 这张工作表
sheets("sheet1").Visible=True 打印预览 有时候我们想把所有的 EXCEL 中的 SHEET 都打印预览,请使用该段代码,它将在 你现有的工作簿中循环,直到最后一个工作簿结束循环预览。 Dim my As Worksheet For Each my In Worksheets my.PrintPreview Next my 得到当前单元格的地址 msgbox ActiveCell.Address 得到当前日期及时间 msgbox date & chr(13) & time 保护工作簿 ActiveSheet.Protect 取消保护工作簿
注意以下代码都不再添加 sub “代码名称” 和 end sub 请自己添加! 给当前单元格赋值 ActiveCell.Value = "你好!!!" 给指定单元格赋值 例如:A1单元格内容设为"HELLO" Range("a1").value="hello" 又如:你现在的工作簿在 sheet1 上,你要往 sheet2 的A1单元格中插入"HE LLO" 1. sheets("sheet2").select range("a1").value="hello" 或 2. Sheets("sheet1").Range("a1").Value = "hello" 说明: 1.sheet2 被选中,然后在将“HELLO"赋到 A1 单元格中。 2.sheet2 不必被选中,即可“HELLO"赋到 sheet2 的 A1 单元格中。 隐藏工作表 '隐藏 SHEET1 这张工作表

Excel-VBA常用代码总结1

Excel-VBA常用代码总结1

Excel VBA常用代码总结1•改变背景色Range("A1").Interior.ColorIndex = xlNoneColorIndex一览•改变文字颜色Range("A1").Font.ColorIndex = 1•获取单元格Cells(1, 2)Range("H7")•获取范围Range(Cells(2, 3), Cells(4, 5))Range("a1:c3")'用快捷记号引用单元格Worksheets("Sheet1").[A1:B5]•选中某sheetSet NewSheet = Sheets("sheet1")NewSheet.Select•选中或激活某单元格'“Range”对象的的Select方法可以选择一个或多个单元格,而Activate方法可以指定某一个单元格为活动单元格。

'下面的代码首先选择A1:E10区域,同时激活D4单元格:Range("a1:e10").SelectRange("d4:e5").Activate'而对于下面的代码:Range("a1:e10").SelectRange("f11:g15").Activate'由于区域A1:E10和F11:G15没有公共区域,将最终选择F11:G15,并激活F11单元格。

•获得文档的路径和文件名ActiveWorkbook.Path '路徑 '名稱ActiveWorkbook.FullName '路徑+名稱'或将ActiveWorkbook换成thisworkbook•隐藏文档Application.Visible = False•禁止屏幕更新Application.ScreenUpdating = False•禁止显示提示和警告消息Application.DisplayAlerts = False•文件夹做成strPath = "C:\temp\"MkDir strPath•状态栏文字表示Application.StatusBar = "计算中"•双击单元格内容变换Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)If (Target.Cells.Row >= 5And Target.Cells.Row <= 8) Then If Target.Cells.Value = "●"ThenTarget.Cells.Value = ""ElseTarget.Cells.Value = "●"End IfCancel = TrueEnd IfEnd Sub•文件夹选择框方法1Set objShell = CreateObject("Shell.Application")Set objFolder = objShell.BrowseForFolder(0, "文件", 0, 0)If Not objFolder Is NothingThen path= objFolder.self.Path & "\"end ifSet objFolder = NothingSet objShell = Nothing•文件夹选择框方法2(推荐)Public Function ChooseFolder() As StringDim dlgOpen As FileDialogSet dlgOpen = Application.FileDialog(msoFileDialogFolderPicker)With dlgOpen.InitialFileName = ThisWorkbook.path & "\"If .Show = -1ThenChooseFolder = .SelectedItems(1)End IfEnd WithSet dlgOpen = NothingEnd Function'使用方法例:Dim path As Stringpath = ChooseFolder()If path <> ""ThenMsgBox"open folder"End If•文件选择框方法Public Function ChooseOneFile(Optional TitleStr As String = "Please choose a file", Optional TypesDec As String = "*.*", Optional Exten As String = "*.*") As StringDim dlgOpen As FileDialogSet dlgOpen = Application.FileDialog(msoFileDialogFilePicker)With dlgOpen.Title = TitleStr.Filters.Clear.Filters.Add TypesDec, Exten.AllowMultiSelect = False.InitialFileName = ThisWorkbook.PathIf .Show = -1Then' .AllowMultiSelect = True' For Each vrtSelectedItem In .SelectedItems' MsgBox "Path name: " & vrtSelectedItem' Next vrtSelectedItemChooseOneFile = .SelectedItems(1)End IfEnd WithSet dlgOpen = NothingEnd Function•某列到关键字为止循环方法1(假设关键字是end)Set CurrentCell = Range("A1")Do While CurrentCell.Value <> "end"……Set CurrentCell = CurrentCell.Offset(1, 0)Loop•某列到关键字为止循环方法2(假设关键字是空字符串)i = StartRowDo While Cells(i, 1) <> ""……i = i + 1Loop•"For Each...Next 循环(知道确切边界)For Each c In Worksheets("Sheet1").Range("A1:D10").Cells If Abs(c.Value) < 0.01Then c.Value = 0Next•"For Each...Next 循环(不知道确切边界),在活动单元格周围的区域内循环For Each c In ActiveCell.CurrentRegion.CellsIf Abs(c.Value) < 0.01Then c.Value = 0Next•某列有数据的最末行的行数的取得(中间不能有空行)lonRow=1Do While Trim(Cells(lonRow, 2).Value) <> ""lonRow = lonRow + 1LooplonRow11 = lonRow11 - 1•A列有数据的最末行的行数的取得另一种方法Range("A65536").End(xlUp).Row•将文字复制到剪贴板Dim MyData As DataObjectSet MyData = New DataObjectMyData.SetText Range("H7").ValueMyData.PutInClipboard•取得路径中的文件名Private Function GetFileName(ByVal s As String)Dim sname() As Stringsname = Split(s, "\")GetFileName = sname(UBound(sname))End Function•取得路径中的路径名Private Function GetPathName(ByVal s As String)intFileNameStart = InStrRev(s, "\")GetPathName = Mid(s, 1, intFileNameStart)End Function•由模板sheet拷贝做成一个新的sheetThisWorkbook.Worksheets("template").CopyAfter:=ThisWorkbook.Worksheets(Sheets.Count)Set doc_s = ThisWorkbook.Worksheets(Sheets.Count)doc_ = "newsheetname" & Format(Now, "yyyyMMddhhmmss")•选中当列的最后一个有内容的单元格(中间不能有空行)'删除B3开始到B列最后一个有内容的单元格为止的所有内容Range("B3").SelectRange(Selection, Selection.End(xlDown)).SelectSelection.ClearContents•常量定义Private Const StartRow As Integer = 3•判断sheet是否存在Private Function IsWorksheet(ByVal strSeetName As String) As Boolean On Error GoTo ErrHandleDim blnRet As BooleanblnRet = IsNull(Worksheets(strSeetName))IsWorksheet = TrueExit FunctionErrHandle:IsWorksheet = FalseEnd Function•向单元格中写入公式Worksheets("Sheet1").Range("D6").Formula = "=SUM(D2:D5)"•引用命名单元格区域Range("MyBook.xls!MyRange")Range("[Report.xls]Sheet1!Sales"•选定命名的单元格区域Application.Goto Reference:="MyBook.xls!MyRange"'或者worksheets("sheetname").range("rangename").selectSelection.ClearContents•使用Dictionary'使用Dictionary需要添加参照Microsoft Scripting RuntimeDim dic As New Dictionarydic.Add "Table", "Cards"'前面是 Key 后面是 Valuedic.Add "Serial", "serialno"dic.Add "Number", "surface"MsgBox dic.Item("Table") '由Key取得Valuedic.Exists("Table") '判断某Key是否存在•将EXCEL表格中的两列表格插入到一个Dictionary中'函数:在ws工作表中,从iStartRow行开始到没有数据为止,把iKeyCol列和iKeyCol右一列插入到一个字典中,并返回字典。

EXCELVBA常用代码集

EXCELVBA常用代码集

EXCELVBA常用代码集1.显示活动工作簿名称MsgBox "当前活动工作簿是" & 2.保存活动工作簿Activeworkbook.Save3.保存所有打开的工作簿关闭EXCELFor Each W in Application.WorkbooksW.SaveNext WApplication.Quit4.将网格线设置为蓝色ActiveWindow.GridlineColorIndex = 55.将工作表sheet1隐藏Sheet1.Visible = xlSheetVeryHidden6.将工作表Shtte1显示Sheet1.Visible = xlSheetVisible7.单击某单元格,该单元格所在的行以蓝色背景填充,字体颜色为白色Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)If Target.Row >= 2 Then’第二行以下的区域On Error Resume Next[ChangColor_With1].FormatConditions.Delete = "ChangColor_With1"With [ChangColor_With1].FormatConditions.Delete.Add xlExpression, , "TRUE".Item(1).Interior.ColorIndex = 5.Item(1).Font.ColorIndex = 2End WithEnd IfEnd Sub8.使窗体在启动的时候自动最大化Private Sub UserForm_Initialize()Application.WindowState = xlMaximizedWith ApplicationMe.Top = .TopMe.Left = .LeftMe.Height = .HeightMe.Width = .WidthEnd WithEnd Sub9.不保存工作簿退出EXCELApplication.DisplayAlerts = FalseApplication.Quit10.使窗体的关闭按纽不好用Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)If CloseMode = vbformcontrdmenu ThenMsgBox "请用关闭按钮关闭窗口!!", 64, "提示"Cancel = TrueEnd IfEnd Sub11.使窗体在3秒后自动关闭Private Sub UserForm_Activate()Application.Wait Now + TimeValue("00:00:03")UserForm1.HideEnd Sub12.启动窗体的时候自动使Label1显示Sheet1工作表3列,8行的内容Private Sub UserForm_Activate()Label1.Caption = Sheets("sheet1").Cells(3, 8)End Sub13.让按纽CommandButton1在窗体上以不可用状态显示CommandButton1.Enabled = False14.让按纽Commandbutton1在窗体上以隐藏方式存在CommandButton10.Visible = False15.点击Commandbutton1按纽进入”工资”工作表Sheets("工资").Select16.在Textbox1中输入数据,窗体可显示出”工资”工作表中与输入内容关联的项Private Sub TextBox1_Change()For X = 1 To Application.CountA(Sheets("工资").Range("a:a")) If Sheets("工资").Cells(X, 1) = TextBox1.Text Then’在工资表第一列查找与Textbox1输入相符的项Label2.Caption = Sheets("工资").Cells(X, 2)’在Label2中显示Textbox1数据所在的第二列的数据Label7.Caption = Sheets("工资").Cells(X, 3)’在Label2中显示Textbox1数据所在的第三列的数据End IfNextEnd Sub17.使EXCEL启动的时候自动最小化/最大化Private Sub Workbook_Open()Application.WindowState = xlMinimized’最小化Application.WindowState = xlMaximized’最大化End Sub18.在Label25以数字的形式显示TextBox12×Label14的结果Label25.Caption = Val(TextBox12.Text) * Val(Label14.Caption)19.单选按纽名与Sheet6工作表名相同OptionButton6.Caption = 20.”登陆”窗体的显示,隐藏登陆.Show’显示登陆.Hide’隐藏21.使窗体的标题栏不显示(1)插入类模块” CFormChanger”代码如下:Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As LongPrivate Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As LongPrivate Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As LongPrivate Declare Function DrawMenuBar Lib "user32" (ByVal hWnd As Long) As LongPrivate Const GWL_STYLE As Long = (-16)Private Const WS_CAPTION As Long = &HC00000Dim hWndForm As Long……………………………………………………………………………………………………………..Public Property Set Form(oForm As Object) '29If Val(Application.Version) < 9 ThenhWndForm = FindWindow("ThunderXFrame", oForm.Caption)ElsehWndForm = FindWindow("ThunderDFrame", oForm.Caption)End IfSetFormStyleEnd Property……………………………………………………………………………………………………………….Private Sub SetFormStyle()Dim iStyle As Long, hMenu As Long, hID As Long, iItems As IntegeriStyle = GetWindowLong(hWndForm, GWL_STYLE)iStyle = iStyle And Not WS_CAPTIONiStyle = iStyle Or WS_THICKFRAMESetWindowLong hWndForm, GWL_STYLE, iStyleDrawMenuBar hWndFormEnd Sub(2)在所在窗体代码里声明Dim oFormChanger As New CFormChanger(3).在窗体的Activate事件中插入代码Set oFormChanger.Form = MeMe.SpecialEffect = fmspecia1EffectRaised以上三步每一步都不可缺少,否则不能完成.22.单击某单元格,该单元格所在的行与列都以蓝色背景填充Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)If Target.Row >= 2 Then’第二行以下的所有列On Error Resume Next[ChangColor_With2].FormatConditions.Delete[ChangColor_With3].FormatConditions.Delete = "ChangColor_With2" = "ChangColor_With3"With [ChangColor_With2].FormatConditions.Delete.Add xlExpression, , "TRUE".Item(1).Interior.ColorIndex = 5End WithWith [ChangColor_With3].FormatConditions.Delete.Add xlExpression, , "TRUE".Item(1).Interior.ColorIndex = 5End WithEnd IfEnd Sub23.显示动态时间(1)插入窗体Userform1及Label1并在窗体声明中插入Option ExplicitPublic nextRun As Date(2)在窗体Activate事件中插入Showtime(3)在窗体QueryClose事件中插入Application.OnTime nextRun, "showtime", schedule:=False (4)插入模块Module1并输入Option ExplicitSub showtime()bel1 = NowUserForm1.RepaintDoEventsUserForm1.nextRun = Now + 1 / 86400Application.OnTime UserForm1.nextRun, "showtime" End Sub24.加载Combobox1选项ComboBox1.AddItem "收入型"ComboBox1.Additem “支出型”25.使Textbox1自动程输入状态显示(有光标闪动)TextBox1.SetFocus26.打开C盘目录Shell "explorer.exe C:\", 1。

Excel-VBA-编程教程(完整版)

Excel-VBA-编程教程(完整版)

Excel-VBA-编程教程(完整版)Excel VBA目录一、VBA语言基础 (1)第一节标识符 (1)第二节运算符 (1)第三节数据类型 (1)第四节变量与常量 (1)第五节数组 (2)第六节注释和赋值语句 (2)第七节书写规范 (2)第八节判断语句 (2)第九节循环语句 (3)第十节其他类语句和错误语句处理 (4)第十一节过程和函数 (4)一.Sub过程 (4)二.Function函数 (5)三.Property属性过程和Event事件过程 (5) 第十二节内部函数 (5)一.测试函数 (5)二.数学函数 (5)三.字符串函数 (5)四.转换函数 (6)五.时间函数 (6)第十三节文件操作 (6)文件 (6)删除 (6)打开 (6)读入 (7)写入 (7)关闭 (7)其他文件函数 (7)二、VISUAL BASIC程序设计网络教学 (1)第一课 VBA是什么 (1)1.1VBA是什么 (1)1.2EXCEL环境中基于应用程序自动化的优点 (1) 1.3录制简单的宏 (1)1.4执行宏 (2)1.5查看录制的代码 (2)1.6编辑录制的代码 (3)1.7录制宏的局限性 (3)1.8小结 (3)第二课处理录制的宏 (3)2.1为宏指定快捷键 (3)2.2决定宏保存的位置 (4)2.3个人宏工作簿 (4)2.3.1 保存宏到个人宏工作簿 (4)2.3.2 使用并编辑个人宏工作簿中的宏 (4)2.4将宏指定给按钮 (4)2.5将宏指定给图片或其他对象 (5)2.6小结 (5)3.3向工作表添加控件 (6)3.4设置控件的特性 (6)3.5给控件命名 (6)3.6使用用户窗体 (6)3.7疑难解答 (7)第四课理解变量和变量的作用 (7)4.1代码存在的位置:模块 (7)4.2对模块的概览 (7)4.2.1 创建过程 (8)4.2.2 运行宏 (9)4.3保存对模块所做的改变 (9)4.4变量 (9)4.4.1 变量的数据类型 (9)4.4.2 用Dim语句创建变量(声明变量) (10)4.4.3 变量命名的惯例 (10)4.4.4 使用数组 (10)4.4.5 变量赋值 (11)第五课利用VBA设置工作表使用权限 (11)1.使用W ITH语句。

EXCELVBA20个有用的ExcelVBA代码

EXCELVBA20个有用的ExcelVBA代码

EXCELVBA20个有用的ExcelVBA代码1.显示多个隐藏的工作表如果你的工作簿里面有多个隐藏的工作表,你需要花很多时间一个一个的显示隐藏的工作表。

下面的代码,可以让你一次显示所有的工作表Sub UnhideAllWoksheets()Dim ws As WorksheetFor Each ws In ActiveWorkbook.Worksheetsws.Visible = xlSheetVisibleNext wsEnd Sub2.隐藏除了活动工作表外的所有工作表如果你做的报表,希望隐藏除了报表工作表以外的所有工作表,则可以用一下代码来实现:Sub HideAllExcetActiveSheet()Dim ws As WorksheetFor Each ws In ThisWorkbook.WorksheetsIf <> Thenws.Visible = xlSheetHiddenEnd ifNext wsEnd Sub3.用VBA代码按字母的顺序对工作表进行排序如果你有一个包含多个工作表的工作簿,并且希望按字母对工作表进行排序,那么下面的代码,可以派上用场。

Sub SortSheetsTabName()Application.ScreenUpdating = FalseDim ShCount As Integer, i As Integer, j As IntegerShCount = Sheets.CountFor i = 1 To ShCount - 1For j = i + 1 To ShCountIf Sheets(j).Name < Sheets(i).Name ThenSheets(j).Move before:=Sheets(i)End IfNext jNext iApplication.ScreenUpdating = TrueEnd Sub4.一次性保护所有的工作表如果工作薄里面有多个工作表,并且希望保护所有的工作表,那么下面的代码,可以派上用场。

excel vba入门与实用例子

excel vba入门与实用例子

Excel VBA(Visual Basic for Applications)是一种基于 Microsoft Visual Basic 编程语言的宏语言,可用于增强 Excel 的功能和自动化重复任务。

以下是一些 Excel VBA 的入门和实用例子,供参考:1. 基本语法和结构Excel VBA 代码通常以 `Sub` 或 `Function` 开头,后面跟着子程序或函数名称。

例如,下面是一个简单的 VBA 子程序,用于将单元格 A1 中的值设置为 "Hello World"。

```vbaSub SayHello()Range("A1").Value = "Hello World"End Sub```上述代码中,`Sub` 表示这是一个子程序,`SayHello()` 是子程序的名称。

`Range("A1")` 表示单元格 A1,`.Value` 表示该单元格的值,`"Hello World"` 就是要设置的新值。

2. 循环和条件语句Excel VBA 支持多种循环和条件语句,可以根据具体需求选择使用。

例如,下面是一个使用 `For` 循环的子程序,用于将单元格 A1 到 A10 中的值递增设置为 1 到 10。

```vbaSub FillNumbers()Dim i As IntegerFor i = 1 To 10Range("A" & i).Value = iNext iEnd Sub```上述代码中,`Dim` 声明了一个名为 i 的整数变量,`For` 循环从 1 到 10 遍历变量 i,`Range("A" & i)` 表示单元格 A1 到 A10 中的每个单元格,`.Value = i` 将该单元格的值设置为 i。

3. 用户输入和消息框Excel VBA 可以使用 `InputBox` 和 `MsgBox` 函数与用户进行交互。

VBA常用代码解析

VBA常用代码解析

EXCEL VBA常用代码解析Range对象是Excel应用程序中最常用的对象,一个Range对象代表一个单元格、一行、一列、包含一个或者更多单元格区域(可以是连续的单元格,也可以是不连续的单元格)中选定的单元格,甚至是多个工作表上的一组单元格,在操作Excel 内的任何区域之前都需要将其表示为一个Range对象,然后使用该Range对象的方法和属性。

▲001 单元格的引用方法在VBA中经常需要引用单元格或单元格区域区域,主要有以下几种方法。

001-1 使用Range属性VBA中可以使用Range属性返回单元格或单元格区域,如下面的代码所示。

Sub RngSelect()Sheet1.Range("A3:F6,B1:C5").SelectEnd Sub代码解析:RangeSelect过程使用Select方法选中A3:F6,B1:C5单元格区域。

Range属性返回一个Range对象,该对象代表一个单元格或单元格区域,语法如下:Range(Cell1,Cell2)参数Cell1是必需的,必须为A1 样式引用的宏语言,可包括区域操作符(冒号)、相交区域操作符(空格)或合并区域操作符(逗号)。

也可包括美元符号(即绝对地址,如“$A$1”)。

可在区域中任一部分使用局部定义名称,如Range("B2:LastCell"),其中LastCell为已定义的单元格区域名称。

参数Cell2是可选的,区域左上角和右下角的单元格。

运行RangeSelect过程,选中A3:F6,B1:C5单元格区域。

001-2 使用Cells属性使用Cells属性返回一个Range对象,如下面的代码所示。

Sub Cell()Dim icell As IntegerFor icell = 1 To 100Sheet2.Cells(icell,1).Value = icellNextEnd Sub代码解析:Cell过程使用For...Next语句为工作表中的A1:A100单元格区域填入序号。

(完整版)vba常用代码大全,推荐文档

(完整版)vba常用代码大全,推荐文档

前言我们平时在工作表单元格的公式中常常使用函数,Excel自带的常用的函数多达300多个,功能强大,丰富多彩,但是在VBA中不能直接应用,必须在函数名前面加上对象,比如:Application.WorksheetFunction.Sum(arg1,arg2,arg3)。

而能在VBA中直接应用的函数也有几十个,下面将逐一详细介绍常用的40个VBA函数,以供大家学习参考。

第1.1例 ASC函数一、题目: 要求编写一段代码,运行后得到字符串”Excel”的首字母和”e”的ASCII值。

二、代码:Sub 示例_1_01()Dim myNum1%, myNum2%myNum1 = Asc("Excel") '返回69myNum2 = Asc("e") '返回101[a1] = "myNum1= ": [b1] = myNum1[a2] = "myNum2= ": [b2] = myNum2End Sub三、代码详解1、Sub 示例_1_01():宏程序的开始语句。

2、Dim myNum1%, myNum2%:变量myNum1和myNum2声明为整型变量。

也可以写为 Dim myNum1 As Integer 。

Integer 变量存储为 16位(2 个字节)的数值形式,其范围为 -32,768 到 32,767 之间。

Integer 的类型声明字符是百分比符号 (%)。

3、myNum1 = Asc("Excel"):把Asc函数的值赋给变量myNum1。

Asc函数返回一个 Integer,代表字符串中首字母的字符的ASCII代码。

语法Asc(string)必要的 string(字符串)参数可以是任何有效的字符串表达式。

如果 string 中没有包含任何字符,则会产生运行时错误。

4、myNum2 = Asc("e"):把Asc函数的值赋给变量myNum2。

EXCEL常用VBA代码

EXCEL常用VBA代码

删除B列中字符串数值少于21的单元格所在的行Sub 删除行()r = Range("B65536").End(xlUp).Row '行数For h = r To 1 Step -1If Cells(h, 2) < 21 Then Cells(h, 2).EntireRow.DeleteNextEnd Sub-------------------------【工作表合并】将同一工作簿中的所有工作表合并到一个工作表中新建一个工作表,写入代码[在新建的工作表标签处右键查看代码(找不到的直接按一下alt+F11) 把下面的代码复制进去然后点上面的运行运行子程序即可]:Sub 合并当前工作簿下的所有工作表()Application.ScreenUpdating = FalseFor j = 1 To Sheets.CountIf Sheets(j).Name <> ThenX = Range("A65536").End(xlUp).Row + 1Sheets(j).UsedRange.Copy Cells(X, 1)End IfNextRange("B1").SelectApplication.ScreenUpdating = TrueMsgBox "当前工作簿下的全部工作表已经合并完毕!", vbInformation, "提示"End Sub*********************************************************代码这样写也行:Sub c()For i = Sheets.Count To 2 Step -1Sheets(i).SelectSheets(i).UsedRange.CopySheets(1).SelectCells(Cells(65000, 1).End(xlUp).Row + 1, 1).SelectActiveSheet.Paste'Sheets(i).DeleteNext iEnd Sub************************************************************把一个工作簿中的所有表单合并成一个表单,怎么去掉重复的表头、标题行?方法如下:Sub c()For i = Sheets.Count To 2 Step -1Sheets(i).UsedRange.Offset(1).Copy Sheets(1).Cells(65536, 1).End(xlUp).Offset(1) Next iEnd Sub说明:函数OFFSET(reference,rows,cols,height,width)以指定的引用为参照系,通过给定偏移量得到新的引用。

Excel中的VBA常用图表类指令代码

Excel中的VBA常用图表类指令代码

Excel中的VBA常用图表类指令代码edRange.Rows.Count获取工作表的行数(注:考虑向前兼容性)Cells.Item(5,"C")引单元格C5Cells.Item(5,3)引单元格C5Application.WorksheetFunction.IsNumber("A1")使用工作表函数检查A1单元格中的数据是否为数字Range("A:A").Find(Application.WorksheetFunction.Max(Range("A:A"))).Activate激活单元格区域A 列中最大值的单元格Cells(8,8).FormulaArray="=SUM(R2C[-1]:R[-1]C[-1]*R2C:R[-1]C)"在单元格中输入数组公式。

注意必须使用R1C1 样式的表达式ActiveSheet.ChartObjects.Count获取当前工作表中图表的个数ActiveSheet.ChartObjects("Chart1").Select选中当前工作表中图表Chart1ActiveSheet.ChartObjects("Chart1").Activate选中当前图表区域ActiveChart.ChartArea.Select选中当前图表区域WorkSheets("Sheet1").ChartObjects("Chart2").Chart.ChartArea.Interior.ColorIndex=2更改工作表中图表的图表区的背景颜色Sheets("Chart2").ChartArea.Interior.ColorIndex=2更改图表工作表中图表区的颜色Charts.Add添加新的图表工作表ActiveChart.SetSourceData Source:=Sheets("Sheet1").Range("A1:D5"),PlotBy:=xlColumns 指定图表数据源并按列排列ActiveChart.Location Where:=xlLocationAsNewSheet新图表作为新图表工作表ActiveChart.PlotArea.Interior.ColorIndex=xlNone将绘图区颜色变为白色WorkSheets("Sheet1").ChartObjects(1).Chart.ExportFileName:="C:MyChart.gif",FilterName:="GIF"将图表1 导出到 C 盘上并命名为MyChart.gifActiveSheet.ChartObjects.Delete删除工作表上所有的ChartObject对象ActiveWorkbook.Charts.Delete删除当前工作簿中所有的图表工作表Excel中的VBA常量和编码值所代表的标准图表类型图表类型——描述——Excel VBA常量——编码值(注:下面按此顺序排列) ——————————————————————————柱形图—簇状柱形图— xlColumnClustered — 513D簇状柱形图—xl3DColumnClustered—54堆积柱形图—xlColumnStacked— 523D堆积柱形图—xl3DColumnStacked — 55百分比堆积柱形图— xlColumnStacked100—533D百分比堆积柱形图— xl3DColumnStacked100— 563D柱形图—xl3DColumn— -4100 ——————————————————————————条形图—簇状条形图—xlBarClustered— 573D簇状条形图— xl3DBarClustered— 60堆积条形图— xlBarStacked— 583D堆积条形图— xl3DBarStacked— 61百分比堆积条形图— xlBarStacked100— 593D百分比堆积条形图— xl3DBarStacked100— 62 ——————————————————————————折线图—折线图— xlLine— 4数据点折线图— xlLineMarkers — 65堆积折线图— xlLineStacked— 63堆积数据点折线图— xlLineMarkersStacked— 66百分比堆积折线图— xlLineStacked100— 64百分比堆积数据点折线图— xlLineMarkersstacked100— 673D折线图— xl3DLine— -4101 ——————————————————————————饼图—饼图— xlPie— 5分离型饼图— xlPieExploded— 693D饼图— xl3DPie— -4102分离型3D饼图— xl3DPieExploded— 70复合饼图— xlPieOfPie— 68复合条饼图— xlBarOfPie — 71 ——————————————————————————XY(散点)图—散点图— xlXYScatter — -4169平滑线散点图— xlXYScatterSmooth — 72无数据点平滑线散点图— xlXYScatterSmoothNoMarkers — 73折线散点图— xlXYScatterLines — 74无数据点折线散点图— xlXYScatterLinesNoMarkers — 75 ——————————————————————————气泡图—气泡图— xlBubble — 153D气泡图— xlBubble3DEffect — 87 ——————————————————————————面积图—面积图— xlArea — 13D面积图— xl3DArea — -4098堆积面积图— xlAreaStacked — 763D堆积面积图— xl3DAreaStacked — 78百分比堆积面积图— xlAreaStacked100 — 773D百分比堆积面积图— xl3DAreaStacked100 — 79 ——————————————————————————圆环图—圆环图— xlDoughnut — -4120分离型圆环图— xlDoughnutExploded — 80 ——————————————————————————雷达图—雷达图— xlRadar — -4151数据点雷达图— xlRadarMarkers — 81填充雷达图— xlRadarFilled — 82 ——————————————————————————曲面图— 3D曲面图— xlSurface — 83曲面图(俯视) — xlSurfaceTopView — 853D曲面图(框架图) — xlSurfaceWireframe — 84曲面图(俯视框架图) — xlSurfaceWireframeTopView — 86 ——————————————————————————股价图—盘高-盘低-收盘图— xlStockHLC — 88成交量-盘高-盘低-收盘图— xlStockVHLC — 90开盘-盘高-盘低-收盘图— xlStockOHLC — 89成交量-开盘-盘高-盘低-收盘图— xlStockVOHLC — 91 ——————————————————————————圆柱图—柱形圆柱图— xlCylinderColClustered — 92条形圆柱图— xlCylinderBarClustered — 95堆积柱形圆柱图— xlCylinderColStacked — 93堆积条形圆柱图— xlCylinderBarStacked — 96百分比堆积柱形圆柱图— xlCylinderColStacked100 — 94 百分比堆积条形圆柱图— xlCylinderBarStacked100 — 973D柱形圆柱图— xlCylinderCol — 98 ——————————————————————————圆锥图—柱形圆锥图— xlConeColClustered — 99条形圆锥图— xlConeBarClustered — 102堆积柱形圆锥图— xlConeColStacked — 100堆积条形圆锥图— xlConeBarStacked — 103百分比堆积柱形圆锥图— xlConeColStacked100 —101百分比堆积条形圆锥图— xlConeBarStacked100 —1043D柱形圆锥图— xlConeCol — 105 ——————————————————————————棱锥图—柱形棱锥图— xlPyramidColClustered — 106条形棱锥图— xlPyramidBarClustered — 109堆积柱形棱锥图— xlPyramidColStacked — 107堆积条形棱锥图— xlPyramidBarStacked — 110百分比堆积柱形棱锥图— xlPyramidColStacked100 — 108百分比堆积条形棱锥图— xlPyramidBarStacked100 — 1113D柱形棱锥图— xlPyramidCol — 112利用以上参数,可用VBA写出批量产生Excel图表的程序。

经典ExcelVBA代码解析

经典ExcelVBA代码解析

经典Excel VBA代码1VBA基础在大家的关注声中即将告一段落了,有许多经典的VBA操作我们只是作了简要的介绍,想要熟练地使用VBA还需要大家慢慢地去消化和吸收,然后在实践中总结和提高。

最后我们收集了常见的VBA代码以飨广大的读者,希望对大家有所启示。

Application(Excel程序)篇Application.EnableEvents= True/ False ’启用/禁用所有事件Application.DisplayAlerts=True/False ’显示/关闭警告框提示框Appli cation.ScreenUpdating= True/False ’显示/关闭屏幕刷新Application.StatusBar = "软件报专用" ’在地址栏中显示文本,标题栏用Caption属性Application.Cursor = xlIBeam ‘设置光标形状为Ⅰ字形,xlWait为沙漏(等待)形,xlNormal为正常Application.WindowState = xlMinimized ‘窗口最小化,xlMaximized最大化,xlNormal为正常Application.Ac tivateMicrosoftApp xlMicrosoftWord ’开启Word应用程序Application.TemplatesPath ‘获取工作簿模板的位置Application.CalculateFull ’重新计算所有打开的工作簿中的数据Application.RecentFiles.Maximum = 2 ’将最近使用的文档列表数设为2Application.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").CutActiveSheet.Columns("F").Insert ‘以上两句将B列数据移至F列,原C列后的数据左移ActiveSheet.Range(“A:A”).EntireColumn.AutoFit ‘自动调整当前工作表A列的列宽ActiveSheet.Cells.SpecialCells(xlCellTypeConstants,xlTextValues) ‘选中当前工作表中常量和文本单元格ActiveSheet.Cells.SpecialCells(xlCellTypeConstants,xlErrors+xlTextValues) ‘选中当前工作表中常量和文本及错误值单元格edRange.Rows.Count ‘当前工作表中已使用的行数ThisWorkbook.Worksheets.Add ThisWorkbook.Worksheets(3), , 2 ‘在第3张工作表之前添加2个新的工作表ActiveSheet.Move After:=ActiveWorkbook. _She ets(ActiveWorkbook.Sheets.Count) ’将当前工作表移至工作表的最后Worksheets(Array(“sheet1”,”sheet2”)).Select ’同时选择工作表sheet1和sheet2 edRange.FormatConditions.Delete ‘删除当前工作表中应用的条件格式Cells.Hyperlinks.Delete ‘取消当前工作表中所有单元格的超链接ActiveSheet.PageSetup.RightFooter=A ctiveWorkbook.FullName ‘在页脚显示文件的路径ActiveSheet.PrintPreview Enablechanges:=False ‘禁用显示在Excel的“打印预览”窗口中的“设置”和“页边距”按钮单元格/单元格区域篇edRange.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)).SelectActiveCell.Offset(1,0).Select ’活动单元格下移一行Range(“B2”).Offset(ColumnOffset:=1)或Range(“B2”).Offset(,1) ‘读取指定单元格右侧单元格中的数据Range(“B2”).Offset(Rowo ffset:=-1)或Range(“B2”).Offset(-1) ‘读取指定单元格上一行单元格中的数据Range(“A1”).Copy Range(“B1”) ’复制单元格A1中的内容到B1中Range(“A1:D8”).Copy Range(“H1”) ’将指定单元格区域复制到从H1开始的区域中,用Cut方法可以实现剪切操作ActiveWindow.RangeSelection.Value = "软件报" ’将指定字符串输入到所选单元格区域中窗体(控件)篇Option Explicit ’强制对模块内所有变量进行声明Userform1.Show ‘显示用户窗体Load Userform1 ‘加载一个用户窗体,但该窗体处于隐藏状态Userform1.Hide ‘隐藏用户窗体Unload Userform1 或Unload Me ‘卸载用户窗体Me.Height=Int(0.5 * ActiveWindow.Height) ‘窗体高度为当前活动窗口高度的一半,宽度用ActiveWindow. Width属性boBox1.AddItem Sheets("Shee t1").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。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

V B A常用代码-E X C E LEXCEL VBA常用代码1.显示活动工作簿名称MsgBox "当前活动工作簿是" & 2.保存活动工作簿Activeworkbook.Save3.保存所有打开的工作簿关闭EXCELFor Each W in Application.WorkbooksW.SaveNext WApplication.Quit4.将网格线设置为蓝色ActiveWindow.GridlineColorIndex = 55.将工作表sheet1隐藏Sheet1.Visible = xlSheetVeryHidden6.将工作表Shtte1显示Sheet1.Visible = xlSheetVisible7.单击某单元格,该单元格所在的行以蓝色背景填充,字体颜色为白色Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range) If Target.Row >= 2 Then’第二行以下的区域On Error Resume Next[ChangColor_With1].FormatConditions.Delete = "ChangColor_With1"With [ChangColor_With1].FormatConditions.Delete.Add xlExpression, , "TRUE".Item(1).Interior.ColorIndex = 5.Item(1).Font.ColorIndex = 2End WithEnd IfEnd Sub8.使窗体在启动的时候自动最大化Private Sub UserForm_Initialize()Application.WindowState = xlMaximizedWith ApplicationMe.Top = .TopMe.Left = .LeftMe.Height = .HeightMe.Width = .WidthEnd WithEnd Sub9.不保存工作簿退出EXCELApplication.DisplayAlerts = FalseApplication.Quit10.使窗体的关闭按纽不好用Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) If CloseMode = vbformcontrdmenu ThenMsgBox "请用关闭按钮关闭窗口!!", 64, "提示"Cancel = TrueEnd IfEnd Sub11.使窗体在3秒后自动关闭Private Sub UserForm_Activate()Application.Wait Now + TimeValue("00:00:03")UserForm1.HideEnd Sub12.启动窗体的时候自动使Label1显示Sheet1工作表3列,8行的内容Private Sub UserForm_Activate()Label1.Caption = Sheets("sheet1").Cells(3, 8)End Sub13.让按纽CommandButton1在窗体上以不可用状态显示CommandButton1.Enabled = False14.让按纽Commandbutton1在窗体上以隐藏方式存在CommandButton10.Visible = False15.点击Commandbutton1按纽进入”工资”工作表Sheets("工资").Select16.在Textbox1中输入数据,窗体可显示出”工资”工作表中与输入内容关联的项Private Sub TextBox1_Change()For X = 1 To Application.CountA(Sheets("工资").Range("a:a"))If Sheets("工资").Cells(X, 1) = TextBox1.Text Then’在工资表第一列查找与Textbox1输入相符的项Label2.Caption = Sheets("工资").Cells(X, 2)’在Label2中显示Textbox1数据所在的第二列的数据Label7.Caption = Sheets("工资").Cells(X, 3)’在Label2中显示Textbox1数据所在的第三列的数据 End IfNextEnd Sub17.使EXCEL启动的时候自动最小化/最大化Private Sub Workbook_Open()Application.WindowState = xlMinimized’最小化Application.WindowState = xlMaximized’最大化End Sub18.在Label25以数字的形式显示TextBox12×Label14的结果Label25.Caption = Val(TextBox12.Text) * Val(Label14.Caption)19.单选按纽名与Sheet6工作表名相同OptionButton6.Caption = 20.”登陆”窗体的显示,隐藏登陆.Show’显示登陆.Hide’隐藏21.使窗体的标题栏不显示Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As LongPrivate Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As LongPrivate Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As LongPrivate Declare Function DrawMenuBar Lib "user32" (ByVal hWnd As Long) As Long Private Const GWL_STYLE As Long = (-16)Private Const WS_CAPTION As Long = &HC00000Dim hWndForm As Long ……………………………………………………………………………………………………………..Public Property Set Form(oForm As Object) '29If Val(Application.Version) < 9 ThenhWndForm = FindWindow("ThunderXFrame", oForm.Caption)ElsehWndForm = FindWindow("ThunderDFrame", oForm.Caption)End IfSetFormStyleEnd Property ……………………………………………………………………………………………………………….Private Sub SetFormStyle()Dim iStyle As Long, hMenu As Long, hID As Long, iItems As IntegeriStyle = GetWindowLong(hWndForm, GWL_STYLE)iStyle = iStyle And Not WS_CAPTIONiStyle = iStyle Or WS_THICKFRAMESetWindowLong hWndForm, GWL_STYLE, iStyleDrawMenuBar hWndFormEnd SubDim oFormChanger As New CFormChangerSet oFormChanger.Form = MeMe.SpecialEffect = fmspecia1EffectRaised以上三步每一步都不可缺少,否则不能完成.22.单击某单元格,该单元格所在的行与列都以蓝色背景填充Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range) If Target.Row >= 2 Then’第二行以下的所有列On Error Resume Next[ChangColor_With2].FormatConditions.Delete[ChangColor_With3].FormatConditions.Delete = "ChangColor_With2" = "ChangColor_With3"With [ChangColor_With2].FormatConditions.Delete.Add xlExpression, , "TRUE".Item(1).Interior.ColorIndex = 5End WithWith [ChangColor_With3].FormatConditions.Delete.Add xlExpression, , "TRUE".Item(1).Interior.ColorIndex = 5End WithEnd IfEnd Sub23.显示动态时间Option ExplicitPublic nextRun As DateShowtimeApplication.OnTime nextRun, "showtime", schedule:=FalseOption ExplicitSub showtime()bel1 = NowUserForm1.RepaintDoEventsUserForm1.nextRun = Now + 1 / 86400Application.OnTime UserForm1.nextRun, "showtime"End Sub24.加载Combobox1选项ComboBox1.AddItem "收入型"ComboBox1.Additem “支出型”25.使Textbox1自动程输入状态显示(有光标闪动)TextBox1.SetFocus26.打开C盘目录Shell "explorer.exe C:\", 127.。

相关文档
最新文档