【整理】VBA学习笔记(22)VBA常用符号常数:如chr(10) chr(13) vbcrlf 和ASCII码
1 VBA和EXCEL使用符号常数有语法差别1.1 语法差别比如EXCEL里使用char(10)VBA中只能写成 chr(10)VBA的语法错误,VBE没有把第1个首字母大写就应该看出来char(13) 是错误的1.2 举例: chr(32) 类空格MsgBox "hello" & Chr(32) & "world" & Chr(3...
1 VBA和EXCEL使用符号常数有语法差别
1.1 语法差别
- 比如EXCEL里使用char(10)
- VBA中只能写成 chr(10)
- VBA的语法错误,VBE没有把第1个首字母大写就应该看出来 char(13) 是错误的
1.2 举例: chr(32) 类空格
MsgBox "hello" & Chr(32) & "world" & Chr(32) & 1 & Chr(32) & 2 & 3
2 EXCEL里使用符号常数
2.1 EXCEL有些符号常数,生效还需要修改设置才会生效,比如 char(10)
- char(10), LF, Line Feed, 换行,进纸一行
- 但是必须在,设置EXCEL,这部分为自动换行后才生效。否则看不到效果。
2.2 EXCEL里一些常数的区别
- chr(13)是回车符,enter
- chr(10)是换行符,LF, Line Feed, 换行,进纸一行
- 在word里回车键就是起到换行的效果
- 在excel单元格里插入char(13)与char(10)不同,起不到强行换行的效果,实际操作必须 ctrl+enter
3 VBA里使用符号常数
3.1 VBA里使用chr(10)--不能写成char(10)
- 第1类: 比如 chr(10) chr(13)
- 第2类: 典型的比如 vbcrlf
Sub test1()
Debug.Print "helloworld"
Debug.Print "hello world"
Debug.Print "hello" & Chr(10) & "world"
Debug.Print "hello" & Chr(10) & Chr(10) & Chr(10) & "world"
Debug.Print "hello" & Chr(10); Chr(10); Chr(10) & "world"
Debug.Print "hello" & vbCrLf & "world"
End Sub
3.2 各种chr() 和 vbcrlf 比较
- chr(32):类空格
- chr(9):类tab
- chr(10):换行,相当于VBLF,LF, Line Feed, 换行,进纸一行
- chr(13):回车,相当于VBCR,回车的作用是回到当前行的首列。
- chr(13)+chr(10):回车+换行,相当于VBCRLF
- cr是回车,只有回车,是到本行的最头上;lf是换行,到下一行;crlf是到下一行的最头上
游戏的情况下是一样的,比如debug.print 和 msgbox
效果是一样的。现在的语言会经过转换的,自动变成“回车换行”的。
如果用汇编就可以看出效果了
3.3 在debug.print 和 msgbox() 上 没区别
- 在debug.print 和 msgbox() 上
- chr(10) == chr(13) == char(10)+(13)
- vblf == vbcr== vbcrlf
Sub test1()
Debug.Print "helloworld"
Debug.Print "hello world"
Debug.Print
Debug.Print "hello" & Chr(10) & "world"
Debug.Print "hello" & vbLf & "world"
Debug.Print
Debug.Print "hello" & Chr(13) & "world"
Debug.Print "hello" & vbCr & "world"
Debug.Print
Debug.Print "hello" & Chr(13) + Chr(10) & "world"
Debug.Print "hello" & vbCrLf & "world"
End Sub
Sub test2()
MsgBox "hello" & "world"
MsgBox "hello" & Chr(10) & "world"
MsgBox "hello" & Chr(13) & "world"
MsgBox "hello" & vbCr & "world"
MsgBox "hello" & vbLf & "world"
MsgBox "hello" & Chr(10) + Chr(13) & "world"
MsgBox "hello" & vbCrLf & "world"
End Sub
其他地方有差别??
https://blog.csdn.net/zlts000/article/details/12201001
2)、在窗体输出中的效果
Chr(13) 、 Chr(10) 、 Chr(13)+Chr(10) 是换一行;
Chr(10)+Chr(13)、两个Chr(13)、两个Chr(10) 是换两行。
3)、在Text输出中的效果
只有只有chr(10)+chr(13)或者VBCRLF可以换行,其他的没有换行的效果::需要注意,换行的前提是Text控件中属性MultiLine必须为True。
4 VBA常用的符号常数
- 在EXCEL 公式里可以使用 char(13) & char(10) 等等这种
- 在VBA直接使用 vbcr vbcrlf等
常数 | 值 | 描述 |
---|---|---|
vbCr | Chr(13) | 回车符。 |
vbLf | Chr(10) | 换行符。 |
vbCrLf | Chr(13) & Chr(10) | 回车符和换行符。 |
vbNewLine | Chr(13) & Chr(10)或Chr(10) | 平台指定的新行字符,适用于任何平台。 |
vbNullChar | Chr(0) | ASCII码为0的字符。 |
vbNullString | 值为0的字符串,但和""不同。 | |
vbFormFeed | Chr(12) | 换页符,在Windows中不适用。 |
vbVerticalTab | Chr(11) | 垂直附签,在Windows中不适用。 |
vbTab | Chr(9) | 水平附签。 |
补充1 | Chr(32) | 空格 |
补充2 | Chr(34) | 双引号 |
补充3 | Chr(39) | 单引号 |
5 ASCII码
- ASCii码全称:American Standard C
- 英语编码
- 因为计算机只认识二进制数0和,所以美国就编了一套编码来用这0和1 来表示一些字符如'a','c','1''*','$'等,让计算机能通过0,1识别他,这套编码被取名为ASCII码,American Standard Code...每个字符用7位表示~
- Ascii码在很多编程语言里都是通用的,可以把 字母文字等 转化为对应的ASCII码数字
- 从小到大的规律是:
- 特殊字符,阿拉伯数字,大写英文字母,小写英文字母
- 特殊字符 33之前 48之前都是
- 数字:48-57
- A-Z 65-90
- a-z 97-122
VBA各种变量的初始默认值
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)