VBA中range的find方法⑥ | 您所在的位置:网站首页 › excel中清除格式在哪里找到 › VBA中range的find方法⑥ |
使用range.specialcells(type,value)查找最后一行 再指定的range范围内,查找某类特殊的单元格 其中type为目标单元格属于的类型 value为目标单元格应该包含哪类内容(可选参数) 其对应excel“查找和选择”功能中的定位条件 可以看到定位条件中有“最后一个单元格(s)”选项 但实际上specialcells与usedrange并没有区别, 其也会将设置过格式的空单元格认定为最后一行所在的单元格 同样删除单元格的操作也会影响specialcells与usedrange的判断 将第六行删除 使用end属性可以正确得到最后一行 但如果使用specialcells则最后一行仍然是删除后的第六行 出于效率等方面因素,用户删除等操作并不总是即使更新到excel内部数据结构, 所以导致specialcells和usedrange无法取得最新的末行位置 使用range.find方法查找最后一行cells.find("*") 在单元格中查找第一个出现的非空单元格 其中参数为按行查找,与从后向前查找,这样对后一个单元格所在的位置即第一个非空单元格 find方法可以正确处理最大行号(表格中间没有数据的仍然适用) 不受格式化的空单单元格的影响 但是,find单元格无法处理被筛选的单元格 其在查询最后一行时,会查询到筛选完毕后的最后一行 如果不想受格式化单元格,筛选等影响查询最后一行,则仍然使用最初的循环 同样是向上查找最后一行,找到后退出do while循环 |
CopyRight 2018-2019 实验室设备网 版权所有 |