作者:绿色风
分类:
时间:2022-08-17
浏览:170
楼主 0Mouse |
Q:如何编写列数字转换成对应列标字母的自定义函数呢? A:以下三段代码均可实现将列数字转变成对应的列标字母。- Public Function 列号1(数值 As Integer) As String
- If 数值 > Cells.Columns.Count Then
- 列号1 = "Error"
- Else
- 列号1 = Split(Cells(1, 数值).Address, "$")(1)
- End If
- End Function
- Public Function 列号2(数值 As Integer) As String
- If 数值 > Cells.Columns.Count Then
- 列号2 = "Error"
- Else
- 列号2 = Mid(Replace(Cells(1, 数值).Address, "$1", ""), 2)
- End If
- End Function
- Public Function 列号3(数值 As Integer) As String
- If 数值 > Cells.Columns.Count Then
- 列号3 = "Error"
- Else
- Dim pos$
- pos = Cells(1, 数值).Address
- 列号3 = Mid(pos, 2, InStr(2, pos, "$") - 2)
- End If
- End Function
用法:在单元格内输入“=列号1(列数字)”或者“=列号1(COLUMN())”,“列号2”、“列号3”用法相同。 附件: 列数字转变成对应列标字母的三个自定义函数.rar |
2楼 い卋玑┾宝珼 |
谢谢小千分享 |
3楼 Zaezhong |
高版本只到16384,integer的范围较大,超过的时候出现错误值 |
4楼 0Mouse |
确实考虑的比较周到,不过我觉得函数返回错误值恰恰可以提醒用户使用出错了,如果加了消错语句,结果返回空,这个对用户来说不见得是什么好事。- =MID("a",-1,1)
这个一样返回错误值,说明用户使用错误,不遵循参数约定,所以我觉得没必要加容错语句了,如果确实需要加,我再加上,辛苦了!:-) |
5楼 Zaezhong |
超过的时候可以直接显示error,而不是那个Value错误值 |
6楼 老糊涂 |
学习 |
免责声明
有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素,
经与ExcelTip.Net站长Apolloh商议并征得其同意,
现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示,
供有需要的人士查询使用,也慰缅曾经的论坛时代。
所示各个帖子的原作者如对版权有异议,
可与本人沟通提出,或于本站点留言,我们会尽快处理。
在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一