如何在vba中得到当前单元格的行号和列号

我现在这样处理,

dim ks as range

ks=d2
lie=row(ks)

结果说row未定义

改成Application.rows又不行,ks的值直接就是单元格D2的值了。请问高手该如何作。

1、第一种方法: ActiveSheet.Range("A" & Rows.Count).End (xlUp).Row

2、第二种方法:ActiveSheet.Range("a1048576").End(xlUp).Row

如果是低版本的OFFICE用ActiveSheet.Range("a65536").End(xlUp).Row

3、第三种方法:ActiveSheet.Cells(Rows.Count,1).End(3).Row

4、第四种方法:ActiveSheet.range("A1").CurrentRegion.Rows.Count

5、第五种方法:ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Row

6、第六种方法:ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row

7、第七种方法:MaxRow  =Application.Evaluate("=MAX((A1:A1048576<>"""")*ROW(1:1048576))")

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-04-27

软件版本:Office2013

方法如下:

    Alt+F11,输入代码如下:

    Selection代表选择的单元格

    row属性可得到起行号;Column可得到起列号

2.F5执行代码,即可得到当前单元格的行号和列号:

第2个回答  2006-01-17
在VBA中,单元格不用定义变量直接可用Range引用
单元格表示要用字符串表示

ks="D2"
lie = Range(ks).Row本回答被提问者采纳
第3个回答  2020-05-20
dim ks as range
Set ks = Range("d2")
lie = ks.Column
hang = ks.Row
你声明了ks是单元格对象,就不能用ks=d2这么写了
只能用set给ks赋值一个单元格。而且系统默认d2是变量。字符串要加双引号。
或者你可以这样写
Dim ks
ks = "d2"
lie = Range(ks).Column
hang = Range(ks).Row
相似回答