永发信息网

excel vba 数字列转成字母列

答案:5  悬赏:40  手机版
解决时间 2021-03-09 22:21
  • 提问者网友:最美的风景
  • 2021-03-09 08:58
excel vba 数字列转成字母列
最佳答案
  • 五星知识达人网友:十年萤火照君眠
  • 2021-03-09 09:19
一定要用这种方法可以试试下面这个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 是列号
全部回答
  • 1楼网友:神的生死簿
  • 2021-03-09 13:00
不会啊啊啊啊
  • 2楼网友:痴妹与他
  • 2021-03-09 12:29
换个思路呗!用case 1 to 26,case 27 to 676,顺推,这样就能往后写四位,五位甚至更高位数了吧!
  • 3楼网友:琴狂剑也妄
  • 2021-03-09 11:06
点“工具”-----选项----常规----勾选“R1C1引用式样-----确定。列标A、B、C.....就变成1、2、3...了。
没看清题,答错了。不必在意。
  • 4楼网友:渡鹤影
  • 2021-03-09 09:32
Sub find()
what = InputBox("请输入数字")*1
set mc=cells(1,what)
msgbox mid(mc.address,2,len(mc.address)-3)
Cells(1, CInt(What)).Activate
End Sub
  晕,被LZ的VBA坑了,想天边去了。。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯