2014-12-03 57 views
0

我已经尝试了百万方式,但(在Excel中VBA)不能得到这个 我有以下的Excel电子表格的第一行输入,其余的是我期望的输出。 我的先决条件说,永远不能超过四个等级(3分)。每个级别可以去1到99通过解析细胞和粘贴单元格含有调节细胞

http://i.stack.imgur.com/SxKj6.png

我试图复制并粘贴每个级别调整细胞。任何建议如何与vba做到这一点。我已经想通了如何获得的行数,然后也许for循环做使每一行可以使用子被翻译成输出形式,但是这就是我卡住。

回答

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 
+0

万分感谢。得知你是怎么做到的! – 2014-12-03 15:49:15