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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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,这个的意思就是清除单元格中的所有内容。这个在我们清除单元格的内容的时候用的很多的。
参考技术A 你是意思是不是判断工作中已经
使用的最大
行数
工一个每一行都有数的列,加入是a列
excel2007及以上
n=thisworkbook.worksheets("sheet1").range("a1048576").end(xlup).row
excel2003
n=thisworkbook.worksheets("sheet1").range("a65536").end(xlup).row
参考技术B 比如说A3
在任意单元格输入=row(a3)结果为3(行数)
=column(a3)结果为1,列数本回答被提问者和网友采纳
参考技术C A1:

[A1].ROW     
[A1].COLUMN

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

参考技术D Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Range("a1") = ActiveCell.Row & "行"
Range("a2") = ActiveCell.Column & "例"
End Sub

是不是这样?

vba excel怎么获取指定工作表的行数、列数

excel获取指定工作表的行数、列数的具体操作方法如下:

1.首先,打开Excel软件

2.打开源数据文件,假如需要根据证券代码显示出行业名称。现在,在I1单元格输入”证券代码“,在J1单元格输入”Nnindnme"。

3.如图,选中J2单元格,单击工具栏中的"插入函数“

4.弹出”插入函数“对话框,选择插入IF函数

5.在弹出的”函数参数“对话框中,设置Logical_test参数为”I2=“”,将Value_if_true设置为“”,在Value_if_false参数框中输入“VLOOKUP(I2,A2:B2846,2),然后点击确定

参考技术A 当前工作表总行数
k=activesheet.usedrange.rows.count

指定sheet1工作表总列数
j=sheets("sheet1").usedrange.columns.count

前提是顶部和左侧无空行空列
参考技术B vba 取行数
Sheets(1).[A65536].End(xlUp).Row '''该列最后一行
vba 取列数
Cells(14, 256).End(xlToLeft).Column'''该14行最后一列
参考技术C

Sub 列()

a = Columns("C:H").Count 'c:h的长度

b = Cells(1, Columns.Count).Address '列的最大值

c = Cells(1, Columns.Count).End(xlToLeft).Column '有效列(包含空值)

d = ActiveSheet.UsedRange.Columns.Count '有效列(包含空值)

f = Application.CountA(ActiveSheet.Range("1:1")) '有效列(到空值停止)

n = 12

g = Range(Chr(65 + n) & "1").Address '求第12列

End Sub

2.行

Sub 行()

a = Cells(Rows.Count, 1).Address '行的最大值

b = Cells(Rows.Count, 1).End(xlUp).Row  '有效行(包含空值)

c = ActiveSheet.UsedRange.Rows.Count '有效行(包含空值)

d = Application.CountA(ActiveSheet.Range("a:a")) '有效行(到空值停止)

End Sub

以上是关于vba如何读取excel中某单元格的行数或列数的主要内容,如果未能解决你的问题,请参考以下文章

vba excel怎么获取指定工作表的行数、列数

matlab中的length表示啥?应该如何使用?

请教关于excel offset函数的问题

Word VBA 读取 任意表格的高度和宽度

VBA Excel 二维数组

nodejs读取excel时如何判断合并的单元格