CSTR VBAVisual Basic for Applications或VBA是简单而强大的编程语言。创建自动化MS Office套件中的常规任务的宏是有价值的。VBA包含一系列函数来操纵字符串和数字。这些对于创建简单的和复杂程序非常有用,可以重用。字符串只是一系列字符。CSTR()函数是VBA的一个非常有价值的功能。它允许您将任何类型的表达式转换为字符串格式。在这个中间级别教程中,我们通过CSTR VBA函数走。我们假设您熟悉Excel和VBA的基础知识。但是,如果您想刷新您对MS Excel VBA的知识,我们建议您通过此介绍性课程来Excel VBA宏

什么是字符串?

字符串基本上是文本。它们被存储并视为字符阵列。您可以对字符串执行多个操作,例如计算字符串长度,反转字符串,比较字符串,字符串连接,在字符串中找到和替换字符。大多数编程语言都具有有用和必要的字符串函数。如果您想了解有关字符串的更多信息,您应该占用此基本C编程课程。由于C是最受欢迎的编程语言之一,并且还有许多较新的编程语言的前兆,在大多数C教程和课程中有很多细节解释了字符串。

什么是cstr()函数?

CSTR()函数将表达式转换为字符串。它的语法如下:

cstr(表达)

以下是一个示例,用于演示CSTR()函数如何工作:

Sub示例()
昏暗的日期为日期
datehired =#1/4/2014#
ActiveCell = CSTR(DateHired)
结束子

CSTR()函数将接受任何数据类型的表达式。这里它将日期值转换为字符串值。

事实上,某些程序员不会声明它们的变量,直到在代码流程期间需要它们。它是一个很好的编程实践,在程序开头声明所有程序变量。

示例1:用于搜索数组中的字符串的程序

dim str_array()作为字符串= {“green”,“blue”,“黄色”}
Dim Search_str As String =“Blue”
昏暗的指数很长
对于索引= ubound(str_array)的lbound(str_array)
if(string.compare(str_array(index),searchItem)= 0)然后
MsgBox(“找到:”+ search_str +“在索引:”+ Cstr(索引))
下一个

在此程序中,我们声明一个变量为数据类型字符串。LBOUND()函数确定阵列的开头,而Ubound()函数确定数组的末尾。我们从头到尾循环遍历数组。在每次迭代中,我们将数组元素与搜索项进行比较。如果它评估为TRUE,则消息框将显示该项目以及数组中的索引值。

您可以在这个优秀的VBA课程中查找更多VBA宏编程示例

示例2:要在数组中搜索整数的程序

Dim Int_Array()作为Integer = {10,28,12}
Dim Int_Item作为Integer = 12
昏暗的指数很长
对于index = ubound(int_array)的lbound(int_array)
如果(int_array(index)= int_item)那么
MsgBox(“找到:”+ CSTR(INT_ITEM)+“AT索引:”+ CSTR(索引))
下一个

上面的程序搜索数组中的整数。在成功时,它将使用CSTR()返回为字符串的整数值。

示例3程序计数字符串中的元音

Dim new_letters(RichTextBox1.Text.Length)作为char
new_letters = richtextbox1.text.toupper.toCharArray()
点心= 0
对于New_letters的每个字母
选择案例信
案例“a”,“e”,“我”,“o”,“u”
count + = 1
结束选择
下一个
label1.text =“元音计数:”+ Cstr(count)

在此程序中,该函数创建一个字符名称字母数组。然后它将文本从RichTextBox复制并将其转换为大写。在for循环中,我们检查每个字母是元音。如果它们是我们将计数变量递增1.到最后,Count变量将包含元音次数。

示例4:将十进制数转换为二进制数的程序

子Conv2bin()
Dim new_str为字符串
尽可能多的昏暗
int1 = application.inputbox(提示:=“键入要转换的号码,然后单击”确定“。”,_
标题:=“转换为二进制”,键入:= 1)
new_str = cstr(int1)
b = cbin(int1)
msgbox“您输入了”&new_str&“。”&chr(13)&chr(13)_
&“它的二进制值是”&chr(13)&b
结束子
功能cbin(number1只有)作为字符串
将remtemp作为变体
newtemp = 1
直到newtemp> number1
newtemp = newtemp * 2
环形
直到newtemp <1
如果number1> = newtemp则
cbin = cbin +“1”
number1 = number1  -  newtemp
别的
CBIN = CBIN +“0”
万一
newtemp = newtemp / 2
环形
cbin = cstr(val(cbin))
结束功能

在此程序中,我们接受整数值。我们创建一个函数cbin()并将十进制数作为参数传递。该函数将十进制数转换为二进制数。最后,我们显示了二进制数。我们将newtemp初始化为1.然后检查它是否大于传递的整数参数。如果不在循环中,我们将其乘以2,直到它变得大于cbin中传递的小数(0函数。然后,我们使用newtemp变量来将二进制数字“1”和“0”附加到CBIN。我们通过CBIN字符串到VBA val函数,返回字符串中找到的数字。最后,我们得到了十进制数的二进制等同物。

如果您想了解有关VBA阵列的更多信息,我们建议您通过这个专门的VBA课程。

示例5:删除重复数组行的程序

sub remove_duplicates()
暗淡纽阵列(5)作为字符串
暗淡的mycol作为集合
昏暗我
设置mycol =新系列
NewArray(0)=“BBB”
NewArray(1)=“BBB”
NewArray(2)=“CCC”
NewArray(3)=“DDD”
NewArray(4)=“DDD”
在错误恢复下一个
对于i = lbound(newArray)到Ubound(NewArray)
mycol.add 0,cstr(strarray(i))
如果呃那么
纽阵列(i)=空
dup = dup + 1
err.clear.
elseif dup然后
NewArray(I  -  DUP)= NewArray(i)
纽阵列(i)=空
万一
下一个
对于i = lbound(newArray)到Ubound(NewArray)
debug.print newarray(i)
下一个

最初我们声明了变量。然后我们将重复数据添加到我们的数组中。接下来,我们确定数组的开头和结尾。我们循环遍历数组的每个元素以删除任何重复项。

与任何其他主要编程语言一样,串函数形成VBA的一体化和重要的一部分。通过示例并创建自己的唯一代码。实践使得掌握编程语言具有完美。希望VBA CSTR上的这一基本教程有用和信息。要提高您在VBA程序中使用字符串的知识,我们建议您参加此终极VBA课程

Excel VBA的顶级课程

Excel Macros和VBA为初学者
Bluelime学习解决方案
4.4 (15)
新的
解锁Excel VBA和Excel宏
Leila Gharani.
4.7 (26,783)
畅销书
Microsoft Excel Macros和Excel VBA硕士
凯尔·佩
4.5 (11,644)
畅销书
使用Excel VBA完成Web自动化
丹尼尔强
4.7 (737)
畅销书
Excel VBA宏:超消歧Excel VBA编程
格兰特赌博
4.5 (987)
畅销书
终极Excel VBA.
马克塔尔伯特
4.7 (3,194)
Excel VBA编程 - 完整指南
Boris Paskhaver.
4.7 (3,727)
Microsoft Excel VBA简介
凯尔·佩
4.6 (1,160)
Excel Macros&Excel VBA编程为初学者编程
andreas exadaktylos.
4.5 (854)
收视率最高
Excel与Microsoft Excel VBA用户表单
凯尔·佩
4.6 (1,180)
MIS培训 - authad Excel +宏+访问+ SQL
喜人·德汉尔
4.3 (337)

更多Excel VBA课程

Excel VBA学生还学习

赋予你的团队。引领行业。

通过Udemy为Business获取组织的在线课程和数字学习工具库的订阅。

请求演示