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

点赞 0
收藏 0

文章为作者独立观点不代本网立场,未经允许不得转载。