Excel VBA学习笔记:单元格的characters 属性,取关键字用
单元格的.Characters 属性,常用于取关键字,给关键字标注用于区别的颜色。
语法:Range.Characters(Start, Length);Start 起始位置,表示从第几个字符起;Length 取几位字符。.Characters返回的是一个对象。
示例:将标红的字符取出,并分段显示。
一般的处理思路:是用循环判断单个字符颜色,再判断红色字符是否连续,有多长,再输出。用到循环嵌套,多重判断。
其实,反向思考下,将黑色字符都换成“空格”,红色字符就留下了,再以“空格”为分隔,不就得到了所需。这个思路以处理黑色字符为思路。下面代码明显简单清晰多了。
本示例意在拓展思维,当直接处理数据很麻烦时,反方向考虑下,说不定有奇效。
附:VBA 里去“空格”函数 Trim,LTrim,RTrim
VBA 中Trim 去除字符串头尾部的空格,中间的空格不进行任何处理;
LTrim 本意去掉左边的空格,就是去除位于字符串头部的空格;
RTrim 本意去掉右边的空格,就是去除位于字符串尾部的空格。
而工作表函数Trim,不光去除头尾部的空格,还将字符串中间的连续空格合成 1个空格。
见下图中t1 、 t2值
vb字符串相关函数
字符串截取函数
在实际应用中,有时会遇到这种情况,比如从某网站获取一段文字,需要这段文字中一些特定的数据,这就是字符串截取。分别是Left,Right和Mid函数。
Left 函数
Left(字符串, 位数) 返回从左边截取字符串第几位。
例如 Left(\”abc123\”,4)的意思是这个字符串从左数到第四位,返回“abc1” ,注意空格也算一位。
Right 函数
Right(字符串, 位数) 返回从右边边截取字符串第几位。
例如 Right(\”abc123\”,4)的意思是这个字符串从左数到第四位,返回“c123” 。
Mid函数
Mid(字符串, 从第几位开始,位数) 返回从字符串的第几位开始,向后截取几位。
例如 Mid(\”abc123\”,2,3)的意思是这个字符串从左数第二位开始向后截取3位,返回“bc1” 。
字符串截取函数示例
代码:
演示效果:
删除空白字符函数
这个函数可以删除字符串中的中的空白字符,实际过程中一些数据不允许有空格的存在,但是用户在输入的过程中难免会不小心插入空格,数据处理中就需要去除这些空格,就会需要LTrim,RTrim和Trim函数。
LTrim(字符串) 去掉“字符串”左边的空白字符。
RTrim(字符串) 去掉“字符串”右边的空白字符。
Trim(字符串) 去掉“字符串”两边的空白字符。
删除空白符函数示例
代码:
演示效果:
字母大小写转换函数
UCase(字符串) \’转换成大写字母
LCase(字符串) \’转换成小写字母
示例代码:
运行效果:
InStr字符串匹配函数
InStr([首字符位置,]字符串1,字符串2 [,n])
在函数中“字符串1”中查找“字符串2”,如果找到了,则返回“字符串2”的第一个字符的位置。若为字符串首字符,则位置为1。
说明:
- “字符串2”的长度限于65535个字符内。
- “首字符位置”是可选项。如果含有“首字符位置”,则从该位置开始查找,否则从“字符串1”的起始位置开始查找。“首字符位置”是一个长整数。
- 函数的最后n是可选项,类型为整型数,用来指定字符串比较。取范围是:0、1、2。
为0时用二进制比较,区分字母的大小写。
为1时比较时忽略大小写。
为2时则基于数据库中包含的信息进行比较(限于Access数据库)。
示例代码:
Replace替换字符串函数
Replace(字符串, 目标字符串, 替换后的字符串[, start[, count[, compare]]])
- start 可选的。在表达式中子字符串搜索的开始位置。如果忽略,假定从1开始。
- count 可选的。子字符串进行替换的次数。如果忽略,缺省值是 -1,它表明进行所有可能的替换。
- compare 可选的。数字值,表示判别子字符串时所用的比较方式。
示例代码:
运行效果图
这个函数的功能和Windows自带的记事本的替换功能类似。
Len取字符串长度函数
Len(字符串) 返回字符串的长度,包括空格。
例如: Len(\”abc\”) 返回3
意思是这个字符串的长度是3。
Space插入空格函数
Space(n) 表示插入空格数。例如:
Text1.Text = \”你\” & Space(5) & \”我\”
表示在两个字符中插入五个空格。
结果为:“你 我”
String创建字符函数
String(数量,字符) 例如:
Text1.text=String(5, \”来\”)
文本框会创建5个“来”,需要注意的是,这个函数创建的是字符,不是字符串。例如:
Text1.text=String(5, \”来了啊\”)
结果仍然是5个\”来\”,会默认取第一个字符。
学习VB编程第23天 VB中处理字符的函数大全
今天学习了刘金玉老师零基础VB教程的第30期,学习的主要内容是字符文本处理课题,主要讲处理字符与字符串的各种函数。
1.VB中字符与字符串没有严格区分,可以都认为是字符串文本,从根本上理解,字符串包含字符。
2.处理字符串的函数。
Chr/asc:chr将ASCII码值转为对应的字符/asc把字符转ASCII码。
Mid/left/right:Mid任意位置截取字符串/left从左边开始截取/right从右边开始截取,Len获取字符审中字符的个数,即字符长度。
Len:获取字符审中字符的个数,字符长度。
Ucase:将字母转为大写。
Lcase:字母转为小写。
Split:将字符串分割后返回一个数组。
Join:将数组转为字符串。
Instr/instrRev:Instr从字符左侧查询指定的字符是否存在/instRev 从右侧开始查询。
InStrB:获取字符串的字节数。
Trim:Trim去除字符串两边的空格/ltrim去除左边空格/rtrim去除右侧空格
Str/cstr:Str将数值类型转换为数位字符串/cstr将任意类型都可以转换为字符串。
3.做一个注册账号和登录账号的系统。
①如图新建并设置控件。
②输入代码:
Private Sub Command1_Click()
Dim user$
user = Trim(Text1.Text) & \”,\” & Trim(Text2.Text)
Open App.Path & \”/usertable.txt\” For Append As #1
Print #1, user
Close #1
End Sub
Private Sub Command2_Click()
Open App.Path & \”/usertable.txt\” For Input As #1
Dim canlogin As Boolean
Do Until EOF(1)
Dim t$
Line Input #1, t
Dim u() As String
u = Split(t, \”,\”)
If u(0) = Trim(Text4.Text) And u(1) = Trim(Text3.Text) Then
Form2.Show
Unload Form1
canlogin = True
End If
Loop
If Not canlogin Then MsgBox \”用户名或密码错误\”
Close #1
End Sub
③生成程序并试用:
视频加载中…
本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com
文章为作者独立观点不代本网立场,未经允许不得转载。