设计感网站,专业的网站建设宝安西乡,深圳网站设计招聘信息,vps网站目录显示灰色的一、宏的简介
1、什么是宏#xff1f;
Excel宏是一种自动化工具#xff0c;它允许用户录制一系列操作并将其转换为VBA(Visual Basic for Applications)代码。这样#xff0c;用户可以在需要时执行这些操作#xff0c;以自动化Excel任务。
2、宏的优点
我们可以利用宏来…一、宏的简介
1、什么是宏
Excel宏是一种自动化工具它允许用户录制一系列操作并将其转换为VBA(Visual Basic for Applications)代码。这样用户可以在需要时执行这些操作以自动化Excel任务。
2、宏的优点
我们可以利用宏来进行一些重复性的操作也能方便我们根据要求去处理表格的数据提高对表格数据的处理效率。 其具体可以进行的操作有 1、自动化重复性操作宏可以自动执行某某些操作如打开特定的工作薄、执行特定的计算、格式化数据等。 2、数据处理宏可以对数据进行处理和分析如筛选数据、计算、排序、合并、拆分等。 3、自定义功能宏可以自定义特定的功能和过程如自动化报告生成、数据导出、输入验证、图表制作等。 4、与其他应用程序交互宏可以与其他应用程序进行交互如从Internet上获取数据、发送电子邮件等。
二、使用宏的两种方法
1、宏录制
如果想要使用宏首先需要确保“开发工具”选项卡在Excel中可用。可以在“文件”—“选项”—“自定义功能区”中启用它。接下来可以按照以下步骤录制宏 1.在“开发工具”选项卡中单击“宏”按钮打开“宏”对话框点击“录制宏按钮。 2.输入宏的名称和描述并选择保存的位置通常是当前工作薄。 3.开始录制操作如输入数据、设置格式等。 4.完成操作后点击“停止录制”按钮Excel会讲操作转换为VBA代码。 编写VBA代码 其次还可以通过手动编写VBA代码或结合录制宏和手动编写代码的方式来创建宏。对于每一个录制好的宏我们可以点击“查看宏”选择某一个宏点击“编辑”来查看其生成的VBA代码也可以改动代码以改变宏的功能。 运行宏的步骤如下 打开Excel文件点击“开发工具”选项卡。 点击“查看宏”按钮选择需要运行的宏。 点击“运行”按钮Excel将执行该宏的代码自动化完成一系列操作。
2、VBA代码
其实在网上能够找到许多已经编辑好的宏的代码我们也可以有根据的选取一些宏来使用对我们的表格进行处理但是这样有两个缺点 1.可能找不到完全符合我我们要求的宏。我们对于表格的处理情况是多种多样的现有的宏可能无法完全适配我们的需求。 2.安全问题由于宏可以执行任何VBA代码因此使用网上已有的宏代码存在安全风险。在运行宏之前还需要确保它来源可靠并且已适当调整宏安全设置。 因此学会自己编写一些简单的VB代码或者能够识别一般VBA代码语句的功能、作用识别宏的安全性还是十分有用的。
三、宏过程定义
宏属于脚本语言就是不需要编译为exe文件可以由解释器直接解释运行。 可以通过Sub关键字来定义一个过程 格式为Sub宏名称 而过程相当于一个函数的概念一个模块中也可以定义为多个过程每个过程其实就是一个宏都可以被单独使用也可以在过程内通过call 过程名的方式调用另一个过程。 宏名称可以是中文 例如
Sub 宏示例()Cells.Select 选中单元格Range(G22).Activate 将G22单元格设置为活动单元格Selection.Copy 复制G22其中的内容Sheets(Sheet1).Select 选择sheet1Cells.Select 选择sheet1中的单元格Range(F26).Activate 将sheet1中的F26作为活动单元格ActiveSheet.Paste 将复制的内容粘贴到F26中
End Sub其中Cells、Sheets、ActiveSheet是VBA的对象。 ‘表示注释其内容不被执行相当于Python里的#’ 同时我们还需要明确一个前提即一个excel文件内可能保护多个sheet每一个sheet一系列单元格cell。
1、数据类型
VBA中有多种基本数据类型可选择
类型名称关键字整型Integer单精度Single双精度Double字符型String长整型Long
每个数据类型其实还有简写不过其简写都是用符号代替个人决定这样的简写可能会降低代码的可读性。同时VBA还能降低对象类型。
2、变量声明与定义 Public可定义全局变量 Dim可定义局部变量 声明变量的语法为 Dim变量名 As 数据类型 Public变量名 As 数据类型 3、变量定义复制
声明变量后还需对变量进行赋值包括基本类型的变量赋值对象类型的变量赋值 1、给基本类型的变量赋值直接使用变量名值的语法即可。 2、给对象类型的变量赋值需要利用到Set关键字语法为Set 变量名值。 eg. Sub example()给基本类型变量赋值Dim localNum As IntegerlocalNum 22给对象类型变量赋值Dim obj As RangeSet obj Range(c1)
End Sub4、简单逻辑用法
1. 顺序结构
顾名思义就是按照顺序结构执行每一条语句从上到下从左到右。
2.选择结构
① If Then 结构 选择结构中If Then 结构是最基础的一个。它只有条件表达式真时才执行的代码。
If Then 结构基本语法如下其中End If是选择结构的结束标志。
If 条件表达式 Then表达式为真时执行
End If举个例子
Sub VBAexample()Dim i As Integer 定义i为整型变量For i 2 To 10 i的值再2——10范围遍历If Cells(i,B).Value 100 Then 依次选中B2-B10的单元格查看其值是否大于100Cells(i,C) 是 大于100则在Ci单元格填入“是”End IfNext i 让i自增
End Sub 结束② If Else 结构 相对于if then 多了一个非此即彼的选择。 即If Else结构中条件表达式在真时执行Then后的代码条件表达式为假时执行 Else后的代码。基本语法如下
If 条件表达式 Then真时执行的代码
Else假时执行的代码
End If3. 循环结构
VBA提供了多种循环结构和C、python的循环结构十分类似【…】处为执行循环体内代码的条件它们的差别在于【执行循环体内代码】和【判断是否满足循环条件】的顺序。
循环结构说明For … Next按指定次数循环执行For Each逐一遍历数据集合中的每一个元素Do While … Loop当条件为真时循环执行Do … Loop While当条件为真时循环执行。无论条件真假至少运行一次Do Until … Loop直到条件为真时循环执行Do … Loop Until直到条件为真时循环执行。无论条件真假至少运行一次
下面是上述某些循环结构的例子 1For … Next 循环 使用 For … Next循环可以指定次数在制定次数没有到达上限之前循环执行一段代码。
2For 循环 For 循环使用一个数字变量从初始值开始每循环一次变量值增加或减小直到变量的值等于指定的结束值时循环结束。 For … Next 循环语法如下
For [变量] [初始值] To [结束值] Step [步长]这里是循环执行的语句
Next其中 [变量] 是一个数字类型变量可在循环执行的语句里使用。 [初始值] 和 [结束值] 是给定的值 [步长]是每次循环时变量的增量。如果为正值变量增大如果为负值变量减小。 下面看一个实际的例子求 1 至 100内 数字的奇数累积和。
Sub VBAexample()Dim i As IntegerDim sum As IntegerFor i 1 To 100 Step 2sum sum iNextEnd Sub
循环变量i的取值分别是1、3、5、7…99当最后i101时不在满足小于100的条件循环结束。
值得注意的是For 循环的 Step 值如果是 1则 Step 关键词可省略。
3Do While …循环 Do While循环用于满足指定条件时循环执行一段代码的情形。循环的指定条件在 While关键词后书写。
4Do While … Loop循环 根据 While 关键词后的条件表达式的值真时执行假时跳出循环转而执行Loop后的代码。基本语法如下
Do While [条件表达式]循环执行的代码
Loop
依旧看刚才求 1- 100内奇数累积和的例子。
Sub VBAexample()Dim i As IntegerDim sum As Integeri 1Do While i 100sum sum ii i 2LoopEnd Sub
i变量的初始值是 1根据 While 后的条件只要 i 变量小于等于 100后续的代码就可以一直循环执行。
其他循环结构的代码类似。
4. with结构
个人感觉这个结构特别像c的结构体只不过不用先在主函数外面定义结构体。使用 With 结构定义一个对象通过【.】调用其内置参数这样可以避免重复写同一个对象名从而精简代码量。 with结构基本语法如下
With [对象].[属性] [数据].[方法]其他属性和方法
End With
With 结构里对象的属性和方法均有点 (.)符号开始后接对象的属性名和方法名。
下面是With 结构的一个实例 若需要将工作簿中 Sheet1 工作表设置新名称然后设置标签颜色为黑色最后隐藏工作表。
1不用 With 结构代码如下
Sub VBAexample()Worksheets(Sheet1).Name 新名称Worksheets(Sheet1).Tab.ThemeColor xlThemeColorLight1Worksheets(Sheet1).Visible xlSheetHidden
End Sub
可以看到每个语句都重复写 Worksheets(“Sheet1”) 部分。
2使用with结构代码如下
Sub VBAexample()
Sub VBAexample()With Worksheets(Sheet1).Name 新名称.Tab.ThemeColor xlThemeColorLight1.Visible xlSheetHiddenEnd With
End Sub5、常用对象选择、操作
1改变背景色
Range(A3).Interior.ColorIndex xlNoneColorIndex参数选择 2改变文字颜色
Range(A3).Font.ColorIndex 43获取单元格
Cells(2, 4)
Range(A4)4获取范围
Range(Cells(4, 5), Cells(8, 9))
Range(a2:c7) 用快捷记号引用单元格
Worksheets(Sheet2).[A2:B6]5选中某sheet
Set NewSheet Sheets(sheet2)
NewSheet.Select6隐藏文档
Application.Visible False7禁止屏幕更新
Application.ScreenUpdating False8禁止显示提示和警告消息
Application.DisplayAlerts False9文件夹做成
strPath C:\temp\
MkDir strPath10状态栏文字表示
Application.StatusBar 计算中11选中或激活某单元格
“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单元格。12获得文档的路径和文件名
ActiveWorkbook.Path 路径
ActiveWorkbook.Name 名称
ActiveWorkbook.FullName 路径名称
或将ActiveWorkbook换成thisworkbook