我正在寻找一种方法,可以将一个单元格中的所有名称和百分比剪切并粘贴到下面一行中的空白单元格中,然后再移动到下一个单元格。每行的名称和百分比的数量会有所不同,但是始终采用相同的格式。
例如汤姆·沃尔顿(75%);乔什·哈格里夫斯(25%);詹姆斯·史密斯(42%);格雷厄姆·约翰逊(56%)
我想对列中的每一行执行此操作。
之前的屏幕截图。
所需的输出。
答案 0 :(得分:0)
Option Explicit
Sub Parse()
Dim ws As Worksheet: Set ws = ThisWorkbook.Sheets("Sheet1")
Dim LR1 As Long, LR2 As Long, i As Long, x As Long, Arr
LR1 = ws.Range("A" & ws.Rows.Count).End(xlUp).Row
For i = 2 To LR1
Arr = Split(ws.Range("B" & i), "; ")
For x = LBound(Arr) To UBound(Arr)
LR2 = ws.Range("E" & ws.Rows.Count).End(xlUp).Offset(1).Row
ws.Range("E" & LR2) = Arr(x)
ws.Range("D" & LR2).Value = ws.Range("A" & i).Value
Next x
Next i
End Sub
输入/输出以下任意排名的示例