2015-07-12 21 views
-1

我有看到的數據here將一列中的數據轉換爲兩列

數據僅安排在一列中。每個唯一ID主要具有兩組數據(一個或兩個數據組可能缺失),並且每個條目由代字號(例如~)字符分隔。該表還顯示了所需的輸出。

是否有可用於獲取所需輸出的VB代碼或表單公式?主文檔大約有132,300行。我還沒有提出一個邏輯。

回答

0

這應該很快處理你的數據。

Sub foo_on_doo_too() 
    Dim v As Long, vDOOs As Variant, vRSLTs As Variant 

    With ActiveSheet '<- set this worksheet reference properly! 
     vDOOs = .Range(.Cells(4, 1), .Cells(Rows.Count, 1).End(xlUp)).Value2 
     ReDim vRSLTs(1 To 2, 1 To Int(UBound(vDOOs, 1)/4)) 

     For v = LBound(vDOOs, 1) To UBound(vDOOs, 1) Step 4 
      vRSLTs(1, Int(v/4) + 1) = vDOOs(v, 1) 
      vRSLTs(2, Int(v/4) + 1) = vDOOs(v + 2, 1) 
     Next v 

     .Cells(4, 3).Resize(UBound(vRSLTs, 2), 2) = _ 
      Application.Transpose(vRSLTs) 
    End With 
End Sub 

建議你設置ActiveSheet參考明確的東西像Sheets("Sheet1")