ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索

VBA中字母与数字相互转换技巧

已有 49 次阅读2023-11-13 13:56 |个人分类:VBA常见问题| 类型转换

在编写VBA代码的过程中,出于不同的需要,有时候我们需要R1C1样式的单元格样式,有时候需要A1样式,怎样方便快捷的转换,本人有如下两种方法
  1. 第一种是使用VBA的内置函数,即ASC和CHR,ASC可以将字母转换为数字,而CHR可以将数字转化为字母,二者本质就是对于ASCII表上的值进行转化,resultA = Chr(result + 96),result输入1~26,resultA会输出A~Z; result = Asc(resultA) - 64,resultA输入A~Z,result会输出1~26
  2. 另一种方法就是调用函数,如下是一个现成的数字转字母的function,字母转数字的function目前我还没想好怎么写
  • Public Function ConvertToLetter(iCol As Long) As String
  •    Dim a As Long
  •    Dim b As Long
  •    a = iCol
  •    ConvertToLetter = ""
  •    Do While iCol > 0
  •       a = Int((iCol - 1) / 26)
  •       b = (iCol - 1) Mod 26
  •       ConvertToLetter = Chr(b + 65) & ConvertToLetter
  •       iCol = a
  •    Loop
  • End Function

这两种方法第一种为主第二种为辅,有时候asc和chr函数会出不了我们需要的结果的时候就可以用function来试试看

路过

雷人

握手

鲜花

鸡蛋

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 免费注册

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-4-28 04:09 , Processed in 0.022990 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

返回顶部