我有一个Microsoft Excel电子表格(Mac 2011)。
有些行在A,C,D,E,F和G列中有数据。我会将这些行称为PARENT行。
其他行只在B列中有数据。我将其称为CHILD行。每个CHILD行实际上是它上面的PARENT行的子集。
每个PARENT行下面有1到20个CHILD行。
模式通常是:PARENT ROW,下面有几个孩子,然后是另一个家长,下面有几个孩子,然后是另一个家长等等。
我想:
[a]复制每个PARENT行的内容并将它们添加到它下面的CHILD行。
[b]复制后,删除原始的PARENT行。
电子表格中有超过40,000行,我不知道如何创建宏。
答案 0 :(得分:0)
你实际上并不需要一个宏(但我在底部提供了一个)
[请注意,这是适用于Windows的Excel工作解决方案 - 我没有使用Excel for Macs的经验,因此无法保证下面的解决方案中的任何一个或两个都适合您]
手动解决方案
代码解决方案
Sub Delete()
Dim rng1 As Range
Dim rng2 As Range
On Error Resume Next
Set rng1 = Range("A:A,C:E").SpecialCells(xlBlanks)
On Error GoTo 0
If rng1 Is Nothing Then Exit Sub
rng1.Formula = "=R[-1]C"
'handles two row areas else SpecialCells will force both areas to area1 formulae
For Each rng2 In rng1.Areas
rng2.Value = rng2.Value
Next rng2
On Error Resume Next
Set rng1 = Range("B:B").SpecialCells(xlBlanks)
On Error GoTo 0
If Not rng1 Is Nothing Then rng1.EntireRow.Delete
End Sub