乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > <em>Excel</em> <em>VBA</em> 数字<em

<em>Excel</em> <em>VBA</em> 数字<em

作者:乔山办公网日期:

返回目录:excel表格制作


在VBA中,一般都不会再象EXCEL里面一样用"AA,AB,BB,CA"这样的字母列号.而是用数字表示列号.同样返回某个单元格时,也可以直接以数字表求.如cells(3,1)表示A3.cells(3,14)表示N3
columns(3).select 表示选择第三列,即C列

如果你非得要返回一个字母列标的话,试试下面的笨方法,因为实在没用过
下面这段返回选择单元格所在的列标
Sub tt()
a = Selection.Address(True, False)
adt = Left(a, Application.WorksheetFunction.Find("$", a) - 1)
MsgBox adt
End Sub

=SUBSTITUTE(SUBSTITUTE(ADDRESS(1,A1),"$",""),"1","")
A1为数字所在单元格,上面是大写,小写的话再使用LOWER函数转换一下
=LOWER(SUBSTITUTE(SUBSTITUTE(ADDRESS(1,A1),"$",""),"1",""))
一定要用这种方e68a84e8a2ade79fa5e98193333法可以试试下面这个function,2010通过。

Function ConvertToLetter(iCol As Integer) As String

Dim iAlpha As Integer

Dim iColTemp As Integer

Dim i As Integer

If iCol > 702 Then

i = 26

iColTemp = iCol - 26 ^ 2 * i

While iColTemp < 27

i = i - 1

iColTemp = iCol - 26 ^ 2 * i

ConvertToLetter = Chr(i + 64)

Wend
iCol = iColTemp

End If

iAlpha = (iCol - 1) \ 26
Select Case iAlpha

Case 0

Case Else

ConvertToLetter = ConvertToLetter & Chr(64 + iAlpha)

End Select

ConvertToLetter = ConvertToLetter & Chr(64 + ((iCol - 1) Mod 26) + 1)

End Function

另外,如果你只是想获取单元格列标,可以使用下面的代码,应该是最简单直接的。

GetColumn = Split(Cells(1, C).Address, "$")(1) ‘C 是列号

Sub test()
MsgBox Split(Cells(1, Columns.Count).Address, "$")(1)
End Sub

答案来啦。

相关阅读

  • <em>Excel</em> <em>VBA</em> 数字<em

  • 乔山办公网excel表格制作
  • 在VBA中,一般都不会再象EXCEL里面一样用"AA,AB,BB,CA"这样的字百母列号.而是用数字表示列度号.同样返回某个单元格时,也可以直接以数字表求.如cells(3,1)表示A3.cells(3,14)表示N3columns(3).select 表
关键词不能为空
极力推荐
  • <em>EXCEL</em>中如何设置打开<em>XLSTART</em>

  • 解决步骤如下:1、首先在电脑上点击打开要进行操作的PERSONAL.XLSB表格文件,接着在此页面内抄点击左上角的“文件”选项。2、接着在此页面内点击左侧的“选项”栏目。zhidao3、接着在

ppt怎么做_excel表格制作_office365_word文档_365办公网