如何根据单元格值对行进行分组-Excel VBA
我有一个项目列表,组织方式如下:如何根据单元格值对行进行分组-Excel VBA,excel,vba,Excel,Vba,我有一个项目列表,组织方式如下: (列“A”) 项目 活动 子活动 它们有一个特定的索引(在“B”列中) 项目索引=0 活动指数=1 子活动指数=2 示例数据如下所示: 列“A” 项目名称 活动1 子活动1 子活动2 活动2 活动3 子活动1 列“B” 0 1 2 2 1 1 2 我试过这个: Public Sub RaggruppaProgetto() Dim lvlData, rCel As Range Set lvlData = Range("B" &
(列“A”)
- 项目
- 活动
- 子活动
- 项目索引=0
- 活动指数=1
- 子活动指数=2
列“A”
- 项目名称
- 活动1
- 子活动1
- 子活动2
- 活动2
- 活动3
- 子活动1
- 0
- 1
- 2
- 2
- 1
- 1
- 2
Public Sub RaggruppaProgetto()
Dim lvlData, rCel As Range
Set lvlData = Range("B" & TrovaInizioProgetti(activeCell), Range("B" & Rows.Count).End(xlUp))
With lvlData
On Error Resume Next
.Rows.Ungroup
.Rows.EntireRow.Hidden = False
On Error GoTo 0
End With
For Each rCel In lvlData
If rCel = "2" Then
Rows(rCel.Row).Group
rCel.EntireRow.Hidden = True
End If
Next
End Sub
我所期望的是,当宏运行时,所有级别2应分组在级别1下,所有级别1(级别2已分组)应分组在级别0下。请注意,
Dim lvlData,rCel As Range
将lvlData初始化为Variant
,而不是Range
。而是使用Dim lvlData作为范围,rCel作为范围
。也可以使用rCel.Value2=“2”
而不是rCel=“2”
。谢谢,我会尝试的。