
Excel 中有一个 ADDRESS() 函数,应该可以满足你的要求:
ADDRESS(row_num, column_num, [abs_num], [a1], [sheet_text])
ADDRESS 函数语法具有以下参数:
row_num 必需。 一个数值,指定要在单元格引用中使用的行号。
column_num 必需。 一个数值,指定要在单元格引用中使用的列号。
abs_num 可选。 一个数值,指定要返回的引用类型。
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")CellsClear,这个的意思就是清除单元格中的所有内容。这个在我们清除单元格的内容的时候用的很多的。
在一个连续的工作表中,可以使用语句取得最大行和列
_Worksheet ws;
Range range;
range = wsGetUsedRange();//获得Worksheet已使用的范围
range = rangeGetRows(); //获得总行数(LPDISPATCH类型)
long UsedRows = rangeGetCount(); //即可获得已使用的行数了。
在excel vba里?
1)可以用columnscount来获取工作表总列数
2)如果想获取第一行最右侧列号,可以用:Cells(1, ColumnsCount)End(xlToLeft)Column
对于规律性地隔几列取几列,可以通过OFFSET函数来实现。
输入以下公式,然后向右向下填充公式
=OFFSET($A$1,ROW(A1)-1,MOD(COLUMN(A1)-1,3)+INT((COLUMN(A1)-1)/3)6)
公式表示:以A1单元格为基准,每向下移动一个单元格,基准单元格向下偏移一行;每向右移动一个单元格,基准单元格向右偏移被3除的余数列以及列数除以3取整后乘以6的列数。
详见附图举例
以上就是关于excel COLUMN提取列数为数字,怎么通过数字得到列数全部的内容,包括:excel COLUMN提取列数为数字,怎么通过数字得到列数、vba如何读取excel中某单元格的行数或列数、怎样获取EXCEL文件中的已用过的行数和列数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)