Private Sub Command1_Click()
Dim i, j, s1 As String, s2 As String, num As Byte
Dim a() As String, tj As String
a = Split(Text1.Text, vbNewLine)
For i = 0 To UBound(a)
s1 = Trim(a(i))
num = 0
If s1 <> "" And InStr(s1, " ") = 0 Then
For j = i + 1 To UBound(a)
s2 = Trim(a(j))
If Left(s2, Len(s1)) = s1 Then
If num < 255 And InStr(s2, " ") > 0 Then num = num + 1
Else
Exit For
End If
Next
tj = tj & s1 & " " & num & vbNewLine
End If
DoEvents
Next
Text2.Text = tj
End Sub
textbox文本框里的事:

ba    把
ban    
bang  帮

ch 
chu 
chua
chuang创 
chuai 踹
co 
con 
cong  聪
cou   凑
运行后结果是:
b 2
ban 1
c 3
ch 1
chu 1
chua 1
chuang创 0
co 2
con 1
实际上不应该有chuang创 0这一行
我这个代码意思是比如b它后面没有字就计算以b位开头的有字的拼音后面文字的个数,现在以b开头的拼音是
ba    把
ban    
bang  帮
有字的是ba和bang一共两个字,所以在b后面就显示2现在chuang后面有字不知道怎么也出来了,还有就是我想让他显示出来的字数都放在第七位上排成一列
注:拼音占6位不够6位的空格补齐,文字从第7位开始