-1

我需要基于单行创建多个 Excel 行。例如,我目前每个人员只有一行,可以说有几十列是“分组”的。所以说 K 列是它自己的组,然后 M、N、O 列是一个组,P、Q、R 是一个组,等等。我需要那一行变成多行——每列一组一行。所以现在的情况是:

1 | Smith, John | Column K | Column M | Column N | Column O | Column P | Column Q| Column R

我需要它变成:

1 | Smith, John | Column K

2 | Smith, John | Blank | Column M | Column N | Column O

3 | Smith, John | Blank |   Blank  |  Blank   | Blank    | Column P | Column Q | Column R
4

1 回答 1

0

这是一个解决方案。你可能可以更聪明地做这个数学。我现在不能。;)

Sub splitRows()

Dim i As Integer

With Sheets(1)
For i = 2 To (.UsedRange.Columns.Count / 3)

.Range(Cells(i, 1), Cells(i, 3)).Value = .Range(Cells(1, 1), Cells(1, 3)).Value
.Range(Cells(i, (i - 1) * 3 + 1), Cells(i, (i - 1) * 3 + 3)).Value = .Range(Cells(1, (i - 1) * 3 + 1), Cells(1, (i - 1) * 3 + 3)).Value

Next

End With

End Sub

这仅适用于始终包含三列组的工作表。如果没有,您必须更改该.UsedRange.Columns.Count / 3部分。

干杯。

于 2016-02-23T17:21:12.883 回答