文章源自略懂百科-http://wswcn.cn/24564.html
● 本技巧的目的:定位到指定行或者列中的最后一个非空单元格。文章源自略懂百科-http://wswcn.cn/24564.html
● 这个技巧非常重要,在 Excel 操作中是否经常会遇到这样的情景,需要把单元格快速移动到本行或者本列的最后一个有数据的单元格呢?在VBA 中这个代码也是非常重要的,他能够让我们实现表格数据的动态获取,而不需要输入一个固定的地址。文章源自略懂百科-http://wswcn.cn/24564.html
● 首先看一下在 Excel 中是如何操作的:文章源自略懂百科-http://wswcn.cn/24564.html
● 现在的单元格地址在 A2文章源自略懂百科-http://wswcn.cn/24564.html
● 在 Excel 中快速移动到 A15 的方法:Ctrl + ↓ (数字键盘的下方向键)。文章源自略懂百科-http://wswcn.cn/24564.html
● 同理,用Ctrl + ↑ ↓ ← → (数字键盘各方向键) 可以实现各个方向的快速移动到最后单元格的目的。文章源自略懂百科-http://wswcn.cn/24564.html
文章源自略懂百科-http://wswcn.cn/24564.html
专栏郑广学Excel VBA 175例案例精讲作者:郑广学网络服务工作室100币203人已购查看文章源自略懂百科-http://wswcn.cn/24564.html
●★★★ 注意:在Excel 中用 Ctrl + 方向键 是移动到连续的最后有数据的单元格。与VBA 不同!!!文章源自略懂百科-http://wswcn.cn/24564.html
● 如下图,最后单元格是 H1 和 A15文章源自略懂百科-http://wswcn.cn/24564.html
● 1. 代码助手神键手实现快速输入文章源自略懂百科-http://wswcn.cn/24564.html
只要输入中文 最大行+ 空格,就会自动弹出选项,再也不用记长长的代码了多方便。文章源自略懂百科-http://wswcn.cn/24564.html
● 2. 单元格最大行数,最大列数文章源自略懂百科-http://wswcn.cn/24564.html
最大行:Sheet1.Rows.Count文章源自略懂百科-http://wswcn.cn/24564.html
注释:文章源自略懂百科-http://wswcn.cn/24564.html
1) Sheet1 工作表 所有行的数量文章源自略懂百科-http://wswcn.cn/24564.html
2) 还有个更简单的方法:当然用Rows.count 也是可以的文章源自略懂百科-http://wswcn.cn/24564.html
① Excel2010 以上版本最大行是 1048576 行, 但是还是可以使用 65536,60000 行这个数值。文章源自略懂百科-http://wswcn.cn/24564.html
② Excel2003 中最大行是 65536 行,所以我们可以写成 [A65536] 甚至是 [A60000]文章源自略懂百科-http://wswcn.cn/24564.html
最大列:ActiveSheet.Columns.Count文章源自略懂百科-http://wswcn.cn/24564.html
注释:活动单元格的最大列文章源自略懂百科-http://wswcn.cn/24564.html
● 3. 参数文章源自略懂百科-http://wswcn.cn/24564.html
● 4. VBA 与 EXCEL 操作的原理不同:文章源自略懂百科-http://wswcn.cn/24564.html
★★★ 注意:VBA 是:先移动到最后的位置,然后再返回,所以是返回到真正的最后一行!!!文章源自略懂百科-http://wswcn.cn/24564.html
● 5. 快速定位到:一列中的最后一行单元格文章源自略懂百科-http://wswcn.cn/24564.html
书写方法:Sheet1.Range("A" & Sheet1.Rows.Count).End(xlUp)文章源自略懂百科-http://wswcn.cn/24564.html
注释:文章源自略懂百科-http://wswcn.cn/24564.html
1) 格式:A列最大行.End(xlup),注:可以是A列,可以是B列,C列,任意列文章源自略懂百科-http://wswcn.cn/24564.html
2)定位到最大行后,再向上移动到最后一行数据所在的单元格文章源自略懂百科-http://wswcn.cn/24564.html
3)调试语句: Debug.print rng.address 在立即窗口打印出 rng 的地址:$A$18文章源自略懂百科-http://wswcn.cn/24564.html
● 6. 快速定位到:一行中的最后一列单元格文章源自略懂百科-http://wswcn.cn/24564.html
书写方法:Sheet1.Cells(1, ActiveSheet.Columns.Count).End(xlToLeft)文章源自略懂百科-http://wswcn.cn/24564.html
注释:文章源自略懂百科-http://wswcn.cn/24564.html
1) 格式:第一行最大列.End(xlToLeft),注:可以是第1行,第2行,任意行文章源自略懂百科-http://wswcn.cn/24564.html
2) 定位到最大列后,再向左移动到最后一列数据所在的单元格文章源自略懂百科-http://wswcn.cn/24564.html
3) 调试语句:文章源自略懂百科-http://wswcn.cn/24564.html
Debug.Printrng.Address 打印地址文章源自略懂百科-http://wswcn.cn/24564.html
Debug.Printrng.Column 打印数字列号文章源自略懂百科-http://wswcn.cn/24564.html
Debug.Print "最后非空单元格地址为:" & rng.Address & "列号:"& rng.Column _文章源自略懂百科-http://wswcn.cn/24564.html
& "行号:" & rng.Row & "数值:"& rng.Value文章源自略懂百科-http://wswcn.cn/24564.html
在立即窗口打印出:文章源自略懂百科-http://wswcn.cn/24564.html
$K$1文章源自略懂百科-http://wswcn.cn/24564.html
11文章源自略懂百科-http://wswcn.cn/24564.html
最后非空单元格地址为:$K$1列号:11行号:1数值:123文章源自略懂百科-http://wswcn.cn/24564.html
● 7. Address, 后面加参数,代表:是否绝对引用文章源自略懂百科-http://wswcn.cn/24564.html
1)Sheet1.Range("A3").Address(0,1) 代表: $A3 列绝对引用, 行相对引用文章源自略懂百科-http://wswcn.cn/24564.html
2)Sheet1.Range("A3").Address(1,0) 代表: A$3 列相对引用, 行绝对引用文章源自略懂百科-http://wswcn.cn/24564.html
3)Sheet1.Range("A3").Address(1,1) 和 Sheet1.Range("A3").Address文章源自略懂百科-http://wswcn.cn/24564.html
都是代表: $A$3 行列均绝对引用文章源自略懂百科-http://wswcn.cn/24564.html
4)Sheet1.Range("A3").Address(0,0) 代表: A3 行列都是相对引用文章源自略懂百科-http://wswcn.cn/24564.html
本人首发于微信公众号EXCEL880文章源自略懂百科-http://wswcn.cn/24564.html
●VBA代码助手 懒人神器 请在在EXCEL880官网下载文章源自略懂百科-http://wswcn.cn/24564.html
文章源自略懂百科-http://wswcn.cn/24564.html
评论