当前位置: 代码迷 >> VBA >> vba如何分割多个字符
  详细解决方案

vba如何分割多个字符

热度:4845   发布时间:2013-02-26 00:00:00.0
vba怎么分割多个字符
一个字符串里面有多个字符,怎么进行分割?
例如:str="2,3 5 4 14,4"
分割逗号 和空格~

------解决方案--------------------------------------------------------
可以按逗号分割,然后在按空格分格:如:Sub fenge()
Dim a As String
Dim arry1() As String
Dim arry2() As String
Dim i As Integer
Dim k As Integer
Dim b As String


a = "2,3 5 4 14,4"

b = ""

arry1 = Split(a, ",")
For i = 0 To UBound(arry1)
arry2 = Split(arry1(i), " ")
For k = 0 To UBound(arry2)
Debug.Print arry2(k)
b = b & "," & arry2(k)
Next k

Next i
b = Right(b, Len(b) - 1)
Debug.Print "b=" & b
arry2 = Split(b, ",")
For k = 0 To UBound(arry2)
Debug.Print arry2(k)
 
Next k

End Sub

 
------解决方案--------------------------------------------------------
先替换,再分割
str="2,3 5 4 14,4"
str=replace(str," ",",")
s=split(str,",")

将其他字符都替换成 ",",再进行分割。
------解决方案--------------------------------------------------------
使用函数在各列之间拆分文本

文本函数适用于操作数据中的字符串,例如,将一个单元格中的名、中间名和姓分布到三个不同的列中。

本文说明了如何组合使用下列文本函数将姓名要素提取并复制到不同的单元格中。

函数 语法 
LEFT LEFT(text, num_chars) 
MID MID(text,start_num,num_chars)
RIGHT RIGHT(text, num_chars) 
SEARCH SEARCH(find_text,within_text,start_num) 
LEN LEN(text) 

 示例姓名 说明 名 中间名 姓 后缀 
1 Jeff Smith 无中间名 Jeff Smith
2 Eric S. Kurjan 一个中间名首写字母 Eric S. Kurjan
3 Janaina B. G. Bueno 两个中间名首写字母 Janaina B. G. Bueno
4 Kahn, Wendy Beth 姓在前面,带逗号 Wendy Beth Kahn
5 Mary Kay D. Andersen 由两部分组成的名 Mary Kay D. Andersen
6 Paula Barreto de Mattos 由三部分组成的姓 Paula Barreto de Mattos
7 James van Eaton 由两部分组成的姓 James van Eaton
8 Bacon Jr., Dan K. 姓和后缀在前面,带逗号 Dan K. Bacon Jr. 
9 Gary Altman III 带后缀 Gary Altman III 
10 Mr. Ryan Ihrig 带前缀 Ryan Ihrig
11 Julie Taft-Rider 带连字符的姓 Julie Taft-Rider
  相关解决方案