2017-05-30 4 views
0

現在、私のデータは異なる人からの5000行の連絡先情報です。 例画像1(注:列「」、番号が明確化のために何を表すかの例のみ存在しません)1つの大きな列から多数の列と行へExcel

Example Image 1

データは現在、次のようになりますので、しかし、一人一人は、情報の一貫性のない量を提供しました

私はそれぞれの人物をセミコロンで区切りました。私は下の写真に似た別のシートの上に互いの上に積み重ねられた複数の列に、この一つの大きな列を変換するにはどうすればよい:

理想の結果シート1

Ideal Results Sheet 1

+2

あなたはこれまでに何を試しましたか?同様の質問があり、VBAは必要ないと思われます。あなたが持っている試行またはコードを示してください。 – BruceWayne

+1

列Aが存在しない場合、たとえばB7は電子メールか電話ですか? – NetMage

答えて

1

後、あなたの問題のためのVBAソリューションです。

Sub Demo() 
    Application.ScreenUpdating = False 
    Application.Calculation = xlCalculationManual 

    Dim lastrow, i, rowNum, colnum As Integer 
    Dim srcSht, destSht As Worksheet 

    Set srcSht = ThisWorkbook.Sheets("Sheet3") 
    Set destSht = ThisWorkbook.Sheets("Sheet5") 

    lastrow = srcSht.Cells(Rows.Count, "B").End(xlUp).Row 
    rowNum = 2 
    colnum = 1 

    For i = 1 To lastrow 
     If srcSht.Cells(i, 2).Value = ";" Then 
      rowNum = rowNum + 1 
      colnum = 1 
     Else 
      destSht.Cells(rowNum, colnum).Value = srcSht.Cells(i, 2).Value 
      colnum = colnum + 1 
     End If 
    Next i 

    Application.ScreenUpdating = True 
    Application.Calculation = xlCalculationAutomatic 
End Sub 
関連する問題