在每个小计处,for then 循环复制并粘贴上面的数据 vba
At each subtotal, for then loop copy and paste above data vba
我正在尝试使用 for then 循环复制每个小计并粘贴到每个数据集上方。也许这里有一个更合适的循环,我不是 100% 确定。在满足条件后,我无法让循环复制小计。请参阅下面的代码:
For I = 1000 To 2 Step -1 ' adjust 1000 to the row number of the last element
If Cells(I, 7).Font.Bold Then
Cells(I + 1, 1).Copy
Selection.End(xlUp).Select
Selection.Offset(1, -7).Select
ActiveSheet.Paste
Application.CutCopyMode = False
End If
Next
我无法让宏执行的操作是复制实际的小计,它甚至不复制选中的单元格。如果您需要查看我正在尝试让循环执行的操作,请参见下图。
Cells(I + 1, 1).Copy
正在正确复制单元格内容,但实际上并未选择单元格。然后您尝试通过从所选单元格开始移动选择来设置目的地,但 selection
的起点实际上并没有首先由循环设置。
更改它的一种方法是在粘贴之前不使用 .select
。这也更有效,因为 .select
非常低效,应该最小化。
For I = 1000 To 2 Step -1 ' adjust 1000 to the row number of the last element
If Cells(I, 7).Font.Bold Then
Cells(I + 1, 7).Copy
Cells(I + 1, 7).End(xlUp).Offset(1, -6).Select
ActiveSheet.Paste
Application.CutCopyMode = False
End If
Next
我正在尝试使用 for then 循环复制每个小计并粘贴到每个数据集上方。也许这里有一个更合适的循环,我不是 100% 确定。在满足条件后,我无法让循环复制小计。请参阅下面的代码:
For I = 1000 To 2 Step -1 ' adjust 1000 to the row number of the last element
If Cells(I, 7).Font.Bold Then
Cells(I + 1, 1).Copy
Selection.End(xlUp).Select
Selection.Offset(1, -7).Select
ActiveSheet.Paste
Application.CutCopyMode = False
End If
Next
我无法让宏执行的操作是复制实际的小计,它甚至不复制选中的单元格。如果您需要查看我正在尝试让循环执行的操作,请参见下图。
Cells(I + 1, 1).Copy
正在正确复制单元格内容,但实际上并未选择单元格。然后您尝试通过从所选单元格开始移动选择来设置目的地,但 selection
的起点实际上并没有首先由循环设置。
更改它的一种方法是在粘贴之前不使用 .select
。这也更有效,因为 .select
非常低效,应该最小化。
For I = 1000 To 2 Step -1 ' adjust 1000 to the row number of the last element
If Cells(I, 7).Font.Bold Then
Cells(I + 1, 7).Copy
Cells(I + 1, 7).End(xlUp).Offset(1, -6).Select
ActiveSheet.Paste
Application.CutCopyMode = False
End If
Next