Excel检查行是否为组的一部分
我正在处理一个宏,以便在一个非常大的excel文档中创建一些订单。在对特定的选择进行了一些操作之后,我想检查在所选范围内是否有行已分组,如果是,则需要取消分组。在将所有行(可能是范围内的一些独立组,可能是一个大组,甚至根本不分组)解组后,需要将它们全部分组在一起。下面的代码部分从选择特定的范围开始,我认为解决方案是在该范围内循环并检查所有行,如果它们是组的一部分,则需要将它们解组。但我不知道如何将这个概念转化为工作代码:) 此外,下面还包括解组/分组操作之前的范围示例Excel检查行是否为组的一部分,excel,vba,Excel,Vba,我正在处理一个宏,以便在一个非常大的excel文档中创建一些订单。在对特定的选择进行了一些操作之后,我想检查在所选范围内是否有行已分组,如果是,则需要取消分组。在将所有行(可能是范围内的一些独立组,可能是一个大组,甚至根本不分组)解组后,需要将它们全部分组在一起。下面的代码部分从选择特定的范围开始,我认为解决方案是在该范围内循环并检查所有行,如果它们是组的一部分,则需要将它们解组。但我不知道如何将这个概念转化为工作代码:) 此外,下面还包括解组/分组操作之前的范围示例 Range(Cells(R
Range(Cells(Rstart, "H"), Cells(Rend, "H")).Select
Selection.Rows.Ungroup
Selection.Rows.Group
你的意思不太清楚。 无论如何,我想这会对你有所帮助
Dim rng As Range
Set rng = Selection
rng.EntireRow.Select
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
你想做什么还不太清楚。 无论如何,我想这会对你有所帮助
Dim rng As Range
Set rng = Selection
rng.EntireRow.Select
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
你尝试过的东西有什么不起作用?您所写的内容对我很有用(尽管您可以使用With语句,例如With Range(“A1:A11”)。行:。取消组:。组:结束于查看行的
大纲
级别。例如Sheet1.行(3).outlinelevel
如果所选范围内没有任何组,则执行宏会生成错误消息。@DarrenBartrup Cook类似于Selection.Rows.outlinelevel=1?编辑,刚刚尝试过,这解决了我的问题,您可以将您的注释作为答案发布:)您尝试过的内容有什么不起作用?您所写的内容对我很有用(尽管您可以使用With语句,例如With Range(“A1:A11”)。行:。取消组:。组:结束于查看行的大纲
级别。例如Sheet1.行(3).outlinelevel
如果所选范围内没有任何组,则执行宏会生成错误消息。@DarrenBartrup Cook类似于Selection.Rows.outlinelevel=1?编辑,刚刚尝试过,这解决了我的问题,您可以将您的注释作为答案发布:)正在努力检查所有行是否为组的一部分,不知道“outlinelevel”,我只是先将所有行设置为outlinelevel 1,然后对它们进行分组。我正在努力检查所有行是否属于一个组,不知道“outlinelevel”,我只是先将所有行设置为outlinelevel 1,然后对它们进行分组。