vb 如何把文本框中的字符串按行分割出来

比如我输入了“a1;a2;a3;......;an”
如何将里面的值全给取出来

首先你要做字符串的分析, 要知道你字符串的分隔方式, 知道分隔方式后就可以使用Split函数了, 函数说明请参考MSND, 如下:

Split(字符串表达式,字符串中的分隔)

返回一个下标从零开始的一维数组,它包含指定数目的子字符串。
语法
Split(expression[,delimiter[,count[,compare]]])
Split函数语法有如下几部分:
部分 描述
expression 必需的。包含子字符串和分隔符的字符串表达式 。如果expression是一个长度为零的字符串(""),Split则返回一个空数组,即没有元素和数据的数组。

delimiter 可选的。用于标识子字符串边界的字符串字符。如果忽略,则使用空格字符(" ")作为分隔符。如果delimiter是一个长度为零的字符串,则返回的数组仅包含一个元素,即完整的 expression字符串。

count 可选的。要返回的子字符串数,–1表示返回所有的子字符串。

compare 可选的。数字值,表示判别子字符串时使用的比较方式。关于其值,请参阅“设置值”部分。

设置值
compare参数的设置值如下:
常数 值 描述
vbUseCompareOption –1 用Option Compare语句中的设置值执行比较。
vbBinaryCompare 0 执行二进制比较。
vbTextCompare 1 执行文字比较。
vbDatabaseCompare 2 仅用于Microsoft Access。基于您的数据库的信息执行比较。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-04-02
Private Sub Command1_Click()
Dim str1() As String
Dim txt1 As String
Dim i As Integer
txt1 = Text1.Text
str1 = Split(txt1, ";")
i = 0
For i = 0 To UBound(str1)
Print str1(i)
Next i
End Sub

第2个回答  2013-04-02
'自己理解一下
Private Sub Command1_Click()
Dim arr
arr = Split(Text1, ";")
MsgBox Join(arr, vbNewLine)
End Sub
Private Sub Form_Load()
Text1 = "a1;a2;a3;a4;an"
End Sub追问

结果这样?

本回答被提问者和网友采纳
第3个回答  2013-04-02
如果输入在一个文本框中,用text1.text就可以得到全部,要想在分号的地方断开,只需要使用split函数
第4个回答  2013-04-02
如果只是需要提取而不需要对每个数据处理的话,可以用下面这个

Private Sub Command1_Click()
MsgBox Replace(Text1.Text, ";", vbCrLf)
End Sub
相似回答