CSTR VBA函数:如何将不同的表达式转换为字符串
Visual Basic for Applications或VBA是简单而强大的编程语言。创建自动化MS Office套件中的常规任务的宏是有价值的。VBA包含一系列函数来操纵字符串和数字。这些对于创建简单的和复杂程序非常有用,可以重用。字符串只是一系列字符。CSTR()函数是VBA的一个非常有价值的功能。它允许您将任何类型的表达式转换为字符串格式。在这个中间级别教程中,我们通过CSTR VBA函数走。我们假设您熟悉Excel和VBA的基础知识。但是,如果您想刷新您对MS Excel VBA的知识,我们建议您通过此介绍性课程来Excel VBA宏。
什么是字符串?
字符串基本上是文本。它们被存储并视为字符阵列。您可以对字符串执行多个操作,例如计算字符串长度,反转字符串,比较字符串,字符串连接,在字符串中找到和替换字符。大多数编程语言都具有有用和必要的字符串函数。如果您想了解有关字符串的更多信息,您应该占用此基本C编程课程。由于C是最受欢迎的编程语言之一,并且还有许多较新的编程语言的前兆,在大多数C教程和课程中有很多细节解释了字符串。
什么是cstr()函数?
CSTR()函数将表达式转换为字符串。它的语法如下:
cstr(表达)
- 布尔基- 如果表达式是Boolean,则CSTR()函数返回包含True或False的字符串。
- 日期- 此函数返回一个字符串,其中包含短日格式的日期。
- 空值- 如果表达式为null,则会发生运行时错误。
- 空的- 如果表达式为空,则函数将返回空字符串(“”)。
- 错误- 将返回一个字符串,其中包含“错误”单词以及错误代码。
- 其他数字- 该函数将返回包含该号码的字符串。
以下是一个示例,用于演示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,则消息框将显示该项目以及数组中的索引值。
示例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课程。