一个大列到excel中的许多列和行

我目前的数据是来自不同人的5000行联系人信息; 然而,每个人提供的信息量并不一致,所以数据看起来像这样:示例图1(注意:“A”列不存在,只是数字代表的用于说明目的的示例)

示例图片1

我用分号分隔每个人。 如何将这一个大列转换为堆叠在另一个表格上的几个列,类似于下面的照片:

理想的结果表1

理想的结果表1

以下是针对您的问题的VBA解决scheme。

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 
Interesting Posts