我已经尝试了一百万种但是无法获得此功能(excel上的VBA) 我有以下excel电子表格,第一行是输入,其他是我想要的输出。 我的先决条件是说永远不会超过四个级别(3分)。每个级别可以达到1到99个。
http://i.stack.imgur.com/SxKj6.png
我正在尝试将每个级别复制并粘贴到调整单元格。任何建议如何用vba做到这一点。我已经想出如何得到行的计数然后可能做一个for循环,这样每行可以使用sub转换为输出形式,但这就是我被卡住的地方。
答案 0 :(得分:0)
选择您要处理并运行的单元格:
Sub PointParser()
Dim r As Range, s As String
For Each r In Selection
s = r.Text
cnt = Len(s) - Len(Replace(s, ".", ""))
r.Offset(0, 1) = 0
r.Offset(0, 2) = 0
r.Offset(0, 3) = 0
r.Offset(0, 4) = 0
If cnt = 0 Then
r.Offset(0, 1) = s
GoTo NextOne
End If
If cnt = 1 And Right(s, 1) = "." Then
r.Offset(0, 1) = s
GoTo NextOne
End If
ary = Split(s, ".")
j = 1
For Each a In ary
r.Offset(0, j) = a
j = j + 1
Next a
NextOne:
Next r
End Sub