vba如何读取excel中某单元格的行数或列数

如题所述

1、将单元格所选单元格的行号和列号,分别用VBA显示在下面的两个单元格中,如下图所示:

2、按下Alt+F11,打开VBA编辑界面,选择当前工作表编写代码,如下图所示:

3、下面代码是得到当前单元格的行号并放到当前单元格下一个单元格中:

4、下面代码是得到当前单元格的列号并放到当前单元格下面第二个单元格中:

5、代码编写完成,点击运行子过程按钮(或按下F5)

6、返回Excel中,就可以看到得到了当前单元格的行号和列号

可能以上的三种方式,你还是不太熟悉,我们举一个通俗一点例子:

1、对象.cells(rowsindex,colunmindex)

假如我们想在sheet1中的A1单元格输入100,是这样写代码的。

Worksheets("sheet1").Cells(1, 1) = 100

我们来说说cells(1,1)的含义,前面的一个数字1,代表的是第一行,后面的一个1代表的是第一列。是不是发现使用Cells比range更好理解一点呢?

PS:需要说明的是在我们excel种使用Cells这个时候,他的行和列是有最大值的,我们一旦超过最大值就会报错。行的最大值为1048576,列的最大值为16384.

2、对象.cells(rowindex)

这个使用方法很简单也很有意思,他的最大值为行和列的所有单元格数目相加,即他的最大值为17179869184.这个数字和我们的Excel中的单元格的数目是相等的。理解这个的时候,可以这么理解,单元格从A1到XFD1换行,然后A2到XFD2,如此进行循环。

假如我们想在第520个单元格输入这个值,那么代码是如何去写写呢?

其实很简单的, Worksheets("sheet1").Cells(520) = 520.

这代码的意思就是在第520个单元格输入520值。

3、对象.cells

这个的使用方法可以说是非常强大的,这种方法返回的是所有工作表上的单元格,请注意和前面的2种方法区分来。

例1, 假如我们需要清除sheet1中的单元格的所有值,代码是这样写的。

代码为Worksheets("sheet1").Cells.Clear,这个的意思就是清除单元格中的所有内容。这个在我们清除单元格的内容的时候用的很多的。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-04-27
你是意思是不是判断工作中已经
使用的最大
行数
工一个每一行都有数的列,加入是a列
excel2007及以上
n=thisworkbook.worksheets("sheet1").range("a1048576").end(xlup).row
excel2003
n=thisworkbook.worksheets("sheet1").range("a65536").end(xlup).row
第2个回答  2013-08-10
比如说A3
在任意单元格输入=row(a3)结果为3(行数)
=column(a3)结果为1,列数本回答被提问者和网友采纳
第3个回答  2013-08-10
A1:

[A1].ROW     
[A1].COLUMN

range("A1").row
range("a1").column

第4个回答  2013-08-11
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Range("a1") = ActiveCell.Row & "行"
Range("a2") = ActiveCell.Column & "例"
End Sub

是不是这样?
相似回答