第3个回答 2022-01-03
个人实测整理分享,本文都是以选择range对象为例,实际应用可以直接进行其它操作。比如批量删除空白单元格所有行,把空白单元格统一设置值为0,清除指定区域上的公式、文本、数值等。
ActiveSheet.usedrange.Select '选择活动工作表已使用区域 '包括隐藏区域
ActiveSheet.usedrange.SpecialCells (12).select '选择活动工作表已使用区域,不包括隐藏区域
Rows(ActiveSheet.usedrange.Row).Select '选择已使用区域第一行,包括隐藏区域
Columns(ActiveSheet.usedrange.Column).Select '选择已使用区域第一列,包括隐藏区域
Cells(ActiveSheet.usedrange.Row, ActiveSheet.usedrange.Column).Select '已使用区域第一个单元格 包括隐藏区域
ActiveSheet.usedrange.SpecialCells(11).Select '选择活动工作表上可见的已使用区域最后一个单元格,不包含隐藏单元格
Cells(ActiveSheet.usedrange.Rows.Count + ActiveSheet.usedrange.Row - 1, ActiveSheet.usedrange.Columns.Count + ActiveSheet.usedrange.Column - 1).Select
'已使用区域最后一个单元格,包括隐藏区域。
Cells(ActiveSheet.usedrange.Rows.Count + ActiveSheet.usedrange.Row - 1, ActiveSheet.usedrange.Columns.Count + ActiveSheet.usedrange.Column - 1).EntireRow.Select
'已使用区域最后一行整行,包括隐藏行
Cells(ActiveSheet.usedrange.Rows.Count + ActiveSheet.usedrange.Row - 1, ActiveSheet.usedrange.Columns.Count + ActiveSheet.usedrange.Column - 1).EntireColumn.Select
'已使用区域最后一行整列,包括隐藏列
ActiveSheet.usedrange.ColumnDifferences(Comparison:=ActiveSheet.Range("B6")).select
'选择活动工作表上已使用区域内所有和单元格B6内容不一样的单元格
Cells.SpecialCells(xlCellTypeFormulas, 23).Select '选择当前工作表上所有含有公式的单元格,23是4个类型的数值总和,代表所有,省略也是所有
Cells.SpecialCells(xlCellTypeFormulas, 2).Select '选择公式结果值返回为文本的所有单元格
Cells.SpecialCells(xlCellTypeFormulas, 1).Select '选择公式结果值返回为数值的所有单元格
Cells.SpecialCells(xlCellTypeFormulas, 4).Select '选择公式结果值返回为逻辑值的所有单元格
Cells.SpecialCells(xlCellTypeFormulas, 16).Select '选择公式结果值返回为错误值的所有单元格
ActiveSheet.cells.SpecialCells(2).Select '选择活动工作表上所有含有常量的单元格,包括数字,不包括公司得到的数值,和下面这行代码是一样的,只是一个使用参数一个使用对应的值
ActiveSheet.cells.SpecialCells(xlTextValues).Select '选择活动工作表上所有文本单元格,包括数字,不包括公司得到的数值
'这一行直接省略了前面的TYPE,帮助文档写着是必选的,但实际可以省略,可能省略也有默认值
Range("E7:E16").SpecialCells(xlCellTypeBlanks).Select '选择指定区域E7:E16上的空白单元格
ActiveSheet.usedrange.SpecialCells(xlCellTypeBlanks).Select '选择活动工作表上已使用区域所有空白单元格
ActiveSheet.cells.SpecialCells(xlCellTypeConstants, 1).Select '选择活动工作表上所有数值单元格,
更多请参考后面的参数说明:
'表达式.SpecialCells(Type, Value)
Type 参数
xlCellTypeAllFormatConditions: 任意格式单元格 对应值:-4172 '这个格式是指什么,我还没弄清楚,设置了单元格格式,比如单元格背景色,字体,边框等都显示找不到
'xlCellTypeAllValidation: 含有验证条件的单元格 对应值:-4174 '设置了数据有效性验证的单元格,菜单栏》数据有效性里设置的
'xlCellTypeBlanks: 空单元格 对应值: 4 '指定区域的空白单元格
'xlCellTypeComments: 含有注释的单元格 对应值: -4144 '含有注释的单元格
'xlCellTypeConstants: 含有常量的单元格 对应值:2 ,'这个后面可以使用Value参数指定哪几类单元格
'xlCellTypeFormulas: 含有公式的单元格 对应值: -4123 '这个后面可以使用Value参数指定哪几类单元格
'xlCellTypeLastCell: 已用区域中的最后一个单元格 对应值:11 '仅对可见区域有效
'xlCellTypeSameFormatConditions: 含有相同格式的单元格 对应值:-4173 '还没弄清楚这个格式指的是什么
'xlCellTypeSameValidation: 含有相同验证条件的单元格 对应值:-4175 '两个以上相同验证条件的单元格
'xlCellTypeVisible: 所有可见单元格 对应值: 12 是已经使用的可见单元格区域,
Value参数
只对前面是XlSpecialCellsValue 常量 和xlCellTypeFormulas常量有效。可选下面参数,可写前面英文,也可以直接写后面的数字,可把数值相加的值表示多个参数。
xlErrors (错误) 对应值: 16
xlLogical (逻辑) 对应值: 4
xlNumbers (数值) 对应值: 1
xlTextValues (文本) 对应值: 2本回答被网友采纳