文档详情

Excel_VBA常用技巧_第01章range(单元格)对象

人***
实名认证
店铺
DOC
1MB
约57页
文档ID:443063339
Excel_VBA常用技巧_第01章range(单元格)对象_第1页
1/57

VBA常用技巧代码解析 VBA常用技巧目录VBA常用技巧 1第1章 Range(单元格)对象 3技巧1 单元格的引用方法 31-1 使用Range属性 31-2 使用Cells属性 41-3 使用快捷记号 41-4 使用Offset属性 51-5 使用Resize属性 61-6 使用Union方法 71-7 使用UsedRange属性 71-8 使用CurrentRegion属性 8技巧2 选定单元格区域的方法 82-1 使用Select方法 82-2 使用Activate方法 92-3 使用Goto方法 10技巧3 获得指定行、列中的最后一个非空单元格 10技巧4 定位单元格 13技巧5 查找单元格 145-1 使用Find方法 145-2 使用Like运算符 18技巧6 替换单元格内字符串 19技巧7 复制单元格区域 20技巧8 仅复制数值到另一区域 238-1 使用选择性粘贴 238-2 直接赋值的方法 24技巧9 单元格自动进入编辑状态 25技巧10 禁用单元格拖放功能 25技巧11 单元格格式操作 2611-1 单元格字体格式设置 2611-2 设置单元格内部格式 2811-3 为单元格区域添加边框 2911-4 灵活设置单元格的行高列宽 31技巧12 单元格中的数据有效性 3212-1 在单元格中建立数据有效性 3212-2 判断单元格是否存在数据有效性 3412-3 动态的数据有效性 3412-4 自动展开数据有效性下拉列表 36技巧13 单元格中的公式 3713-1 在单元格中写入公式 3713-2 检查单元格是否含有公式 3813-3 判断单元格公式是否存在错误 3913-4 取得单元格中公式的引用单元格 4013-5 将单元格中的公式转换为数值 41技巧14 单元格中的批注 4214-1 判断单元格是否存在批注 4214-2 为单元格添加批注 4314-3 删除单元格中的批注 44技巧15 合并单元格操作 4515-1 判断单元格区域是否存在合并单元格 4515-2 合并单元格时连接每个单元格的文本 4615-3 合并内容相同的连续单元格 4715-4 取消合并单元格时在每个单元格中保留内容 49技巧16 高亮显示单元格区域 50技巧17 双击被保护单元格时不显示提示消息框 51技巧18 重新计算工作表指定区域 53技巧19 录入数据后单元格自动保护 53技巧20 工作表事件Target参数的使用方法 5520-1 使用单元格的Address 属性 5520-2 使用Column属性和Row属性 5620-3 使用Intersect方法 56第1章 Range(单元格)对象Range对象是Excel应用程序中最常用的对象,一个Range对象代表一个单元格、一行、一列、包含一个或者更多单元格区域(可以是连续的单元格,也可以是不连续的单元格)中选定的单元格,甚至是多个工作表上的一组单元格,在操作Excel 内的任何区域之前都需要将其表示为一个Range对象,然后使用该Range对象的方法和属性。

技巧1 单元格的引用方法在VBA中经常需要引用单元格或单元格区域区域,主要有以下几种方法1-1 使用Range属性VBA中可以使用Range属性返回单元格或单元格区域,如下面的代码所示001 Sub RngSelect() #002 Sheet1.Range("A3:F6, B1:C5").Select#003 End Sub代码解析:RngSelect过程使用Select方法选中A3:F6,B1:C5单元格区域Range属性返回一个Range对象,该对象代表一个单元格或单元格区域,语法如下:Range(Cell1, Cell2)参数Cell1是必需的,必须为 A1 样式引用的宏语言,可包括区域操作符(冒号)、相交区域操作符(空格)或合并区域操作符(逗号)也可包括美元符号(即绝对地址,如“$A$1”)可在区域中任一部分使用局部定义名称,如Range("B2:LastCell"),其中LastCell为已定义的单元格区域名称参数Cell2是可选的,区域左上角和右下角的单元格运行Sub RngSelect过程,选中A3:F6, B1:C5单元格区域,如图 11所示图 11 使用Range属性引用单元格区域注意 如果没有使用对象识别符,Range属性返回活动表的一个区域,如果活动表不是工作表,则该属性无效。

1-2 使用Cells属性使用Cells属性返回一个Range对象,如下面的代码所示001 Sub Cell()#002 Dim icell As Integer#003 For icell = 1 To 100#004 Sheet2.Cells(icell, 1).Value = icell#005 Next#006 End Sub代码解析:Cell过程使用For...Next语句为工作表中的A1:A100单元格区域填入序号Cells属性指定单元格区域中的单元格,语法如下:Cells(RowIndex, ColumnIndex)参数RowIndex是可选的,表示引用区域中的行序号参数ColumnIndex是可选的,表示引用区域中的列序号如果缺省参数,Cells属性返回引用对象的所有单元格Cells属性的参数可以使用变量,因此经常应用于在单元格区域中循环ActiveCell.Row 表示当前活动单元格所在的行1-3 使用快捷记号在VBA中可以将A1引用样式或命名区域名称使用方括号括起来,作为Range属性的快捷方式,这样就不必键入单词“Range”或使用引号,如下面的代码所示。

001 Sub Fastmark()#002 [A1:A5] = 2#003 [Fast] = 4#004 End Sub代码解析:Fastmark过程使用快捷记号为单元格区域赋值第2行代码使用快捷记号将活动工作表中的A1:A5单元格赋值为2第3行代码将工作簿中已命名为“Fast”的单元格区域赋值为4注意 使用快捷记号引用单元格区域时只能使用固定字符串而不能使用变量1-4 使用Offset属性可以使用Range对象的Offset属性返回一个基于引用的Range对象的单元格区域,如下面的代码所示001 Sub Offset()#002 Sheet3.Range("A1:C3").Offset(3, 3).Select#003 End Sub代码解析:Offset过程使用Range对象的Offset属性选中A1:A3单元格偏移三行三列后的区域应用于Range对象的Offset 属性的语法如下:expression.Offset(RowOffset, ColumnOffset)参数expression是必需的,该表达式返回一个Range对象参数RowOffset是可选的,区域偏移的行数(正值、负值或 0(零))。

正值表示向下偏移,负值表示向上偏移,默认值为 0参数ColumnOffset是可选的,区域偏移的列数(正值、负值或 0(零))正值表示向右偏移,负值表示向左偏移,默认值为 0运行Offset过程,选中A1:A3单元格偏称三行三列后的区域,如图 12所示图 12 使用Range对象的Offset属性1-5 使用Resize属性使用Range对象的Resize属性调整指定区域的大小,并返回调整大小后的单元格区域,如下面的代码所示001 Sub Resize()#002 Sheet4.Range("A1").Resize(3, 3).Select#003 End Sub代码解析:Resize过程使用Range对象的Resize属性选中A1单元格扩展为三行三列后的区域Resize属性的语法如下:expression.Resize(RowSize, ColumnSize)参数expression是必需的,返回要调整大小的Range 对象参数RowSize是可选的,新区域中的行数如果省略该参数,则该区域中的行数保持不变参数ColumnSize是可选的,新区域中的列数如果省略该参数。

则该区域中的列数保持不变运行Resize过程,选中A1单元格扩展为三行三列后的区域,如图 13所示图 13 使用Resize属性调整区域大小1-6 使用Union方法使用Union方法可以将多个非连续区域连接起来成为一个区域,从而可以实现对多个非连续区域一起进行操作,如下面的代码所示001 Sub UnSelect()#002 Union(Sheet5.Range("A1:D4"), Sheet5.Range("E5:H8")).Select#003 End Sub代码解析:UnSelect过程选择单元格A1:D4和E5:H8所组成的区域Union方法返回两个或多个区域的合并区域,语法如下:expression.Union(Arg1, Arg2, ...)其中参数expression是可选的,返回一个Application对象参数Arg1, Arg2, ...是必需的,至少指定两个Range对象运行UnSelect过程,选中单元格A1:D4和E5:H8所组成的区域,如图 14所示图 14 使用Union方法将多个非连续区域连接成一个区域1-7 使用UsedRange属性使用UsedRange属性返回指定工作表上已使用单元格组成的区域,如下面的代码所示。

001 Sub UseSelect()#002 Sheet6.UsedRange.Select#003 End Su代码解析:UseSelect过程使用UsedRange属性选择工作表上已使用单元格组成的区域,包括空单元格如工作表中已使用A1单元格和D8单元格,运行UseSelect过程将选择A1到D8单元格区域,如图 15所示图 15 使用UsedRange属性选择已使用区域1-8 使用CurrentRegion属性使用CurrentRegion属性返回指定工作表上当前的区域,如下面的代码所示001 Sub CurrentSelect()#002 Sheet7.Range("A5").CurrentRegion.Select#003 End Sub代码解析:CurrentSelect过程使用CurrentRegion属性选择工作表上A5单元格当前的区域,当前区域是一个边缘是任意空行和空列组合成的范围运行CurrentSelect过程将选择A5到B6单元格区域,如图 16所示图 16 CurrentRegion属性选择当前的区域技巧2 选定单元格区域的方法2-1 使用Select方法在VBA中一般使用Select方法选定单元格或单元格区域,如下面的代码所示。

001 Sub RngSelect()#002 Sheet3.Activate#003 Sheet3。

下载提示
相似文档
正为您匹配相似的精品文档