我正在处理一个宏来在一个非常大的Excel文档中创建一些订单。在对特定选择进行一些操作之后,我想检查所选范围中是否有分组的行,如果是,则需要取消分组。在取消组合所有行(可能是范围中的一些单独的组,可能是一个大组甚至根本没有分组)之后,需要将它们组合在一起。下面代码的一部分从选择特定范围开始,我认为解决方案是循环遍历范围并检查所有行(如果它们是组的一部分),如果是,则需要将它们取消分组。但是Don不知道如何将这个概念转化为工作代码:) 此外,下面还包括取消分组/分组操作之前的范围示例。
Range(Cells(Rstart, "H"), Cells(Rend, "H")).Select
Selection.Rows.Ungroup
Selection.Rows.Group
答案 0 :(得分:1)
目前还不清楚你的意思。 无论如何,我想这会对你有帮助。
选择完整行。
Dim rng As Range
Set rng = Selection
rng.EntireRow.Select
取消分组(例如here)。
也许您可以使用Outlinelevel
来确定行是否已分组。
这将取消前20行中的行。
Sub x()
Dim lngRow As Long
For lngRow = 1 To 20
If ActiveSheet.Rows(lngRow).OutlineLevel > 1 Then
Do While ActiveSheet.Rows(lngRow).OutlineLevel > 1
ActiveSheet.Rows(lngRow).Ungroup
Loop
End If
Next
End Sub
<强>组合即可。 你已经知道如何做到这一点。