每一个字符都有一个ANCI数字代码,如果知道了某个字符的ANCI码,就能返回需要的字符,比如
char(32) -> 空格,
char(10) -> 软回车,
char(34) -> 引号,
char(39) -> 单引号,更多参考如下:
CHAR(48)至CHAR(57)为半角阿拉伯数字字符"0"到"9";
CHAR(41904)至CHAR(41913)为全角阿拉伯数字字符"0"到"9";
CHAR(65)至CHAR(90)为半角大写英文字母"A"到"Z";
CHAR(97)至CHAR(122)为半角小写英文字母"a"到"z";
CHAR(41921)至CHAR(41946)为全角大写英文字母"A"到"Z";
CHAR(41953)至CHAR(41978)为全角小写英文字母"a"到"z";
CHAR(41649)至CHAR(41668)为20个序号字符:"⒈"到"⒛";
CHAR(41669)至CHAR(41688)为20个序号字符:"⑴"到"⒇";
CHAR(41689)至CHAR(41698)为10个序号字符:"①"到"⑩";
CHAR(41701)至CHAR(41710)为10个序号字符:"㈠"到"㈩";
CHAR(41713)至CHAR(41724)为12个罗马数字序号字符:"Ⅰ"到"Ⅻ"。
(1)大写字母(65~90):在你需要的单元格输入公式:
=CHAR(ROW(A65))
然后复制公式向下填充【选中单元格,在出现十字符后,按Ctrl(或Alt)键,鼠标下拉进行填充】
(2)小写字母(97-120):在你需要的单元格输入公式:
=CHAR(ROW(A97))
然后复制公式向下填充
(1)公式 CODE("A"),返回结果是65;CODE("a"),返回结果是97;CODE("吕"),返回结果是49856;
(2)code延伸运用:
判断首字母大小写,公式:
=IF((CODE(A1)>=65)*(CODE(A1)<=90),"大写","小写")或
=IF(AND(CODE(A1)>=65,CODE(A1)<=90),"大写","小写")
判断最后一个字符是数字还是文本,公式
=IF(AND(CODE(RIGHT(A2))>47,CODE(RIGHT(A2))<58),"数字","文本")
附:vba判断字符串是否是数值(IsNumeric):
Sub shuziPD()
Dim sj, sj2 As String
sj = "500231"
sj2 = "重庆市垫江县"
If IsNumeric(sj) Then
MsgBox sj & "是数值"
Else
MsgBox "这不是数值"
End If
End Sub
vb中IsNumber与 IsNumeric有区别:
IsNumber的用法(判断很严,只有真正的数字才是数字):Application.WorksheetFunction.IsNumber()
IsNumeric的用法(判断相对松一些,文本型数字也判断为True)
Vba.IsNumeric()
以下vba中,变量sj定义的类型不同,返回结果也不同
Dim sj As Long 返回结果是:True
Dim sj As String 返回结果是:False
Sub shuziPD()
Dim sj As Long
sj = "500231"
dj = Application.WorksheetFunction.IsNumber(sj)
MsgBox "返回结果是:" & dj
End Sub