2015-07-12 53 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")