2014-12-03 74 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