【发布时间】:2020-01-28 00:05:47
【问题描述】:
我有数千行数据,如下面的 Excel 示例 #1 所示。所有数据目前都在 A 列中。每个“组”数据有六行:姓名、日期、城市、县、州和一个空白行。我需要将 A 列中每个名称下的数据移动到 B 到 E 列中,如第 1 行和第 2 行所示。然后我需要删除每个名称下方的五行以使单元格上升,以便最终输出看起来像当前位于第 1 行和第 2 行的数据。
EXCEL SAMPLE #1-
A B C D E
1 Name1 Dates1 City1 County1 State1
2 Name2 Dates2 City2 County2 State2
3 Name3
4 Dates3
5 City3
6 County3
7 State3
8 <blank row>
9 Name4
10 Dates4
11 City4
12 County4
13 State4
14 <blank row>
这是我创建的用于移动数据的 Excel 2010 宏。问题是我无法弄清楚如何更改“范围”以便它获取下一组数据。我的公式仅适用于宏中指定范围内的数据。
Sub Move_Rows()
'
' Move_Rows Macro
' Moves cemetery row data for each grave into separate columns
'
' Keyboard Shortcut: Ctrl+q
'
Range("A111:A115").Select
Selection.Copy
Range("B110").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
Range("A111:A115").Select
Application.CutCopyMode = False
Selection.Delete Shift:=xlUp
End Sub
【问题讨论】:
-
由于您使用的是 Excel 2010,如果您必须经常进行此类操作,您可能还需要查看 PowerQuery 加载项。它使您无需代码即可进行此类转换。 microsoft.com/en-us/download/details.aspx?id=39379