A planilha a principio foi feita para pessoas que não sabem muito a fundo do excel fazendo que o usuario não corra risco de gerar algum problema ali dentro, por isso queria deixar o mais simples e intuitivo, sem eles terem que usar muitas ferramentas, ela seria sobre uma atividade que contem varias etapas, então eu fiz varias linhas contendo o mesmo numero de atividade e coloquei num campo etapas as atividades diferentes, se eu usar o filtro que fiz no VBA ele vai buscar um nome na planilha e dai vai me passar apenas uma linha daquela atividade, eu tive a ideia de com base nisso, ir la na primeira coluna que seria o campo de numero apos o resultado desse filtro vba e pegar aqueles numeros que foram gerados, apagar o filtro que fiz e inserir denovo eles no filtro, assim filtrando somente a selecao.
Pensei muito nesse projeto e não sei que outro caminho eu posso fazer pois as atividades precisam estar separadas por conta de um campo de check box e a unica opcao seria fazer por excel por enquanto.
Codigo bem simples mas esse problema me da muita dor de cabeca
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Erro
If Target.Address = "$G$2" Then
Dim Linha As Double
Dim Envolvidos As String, Area As String
With ActiveSheet
Envolvidos = .Range("G2").Value
Linha = WorksheetFunction.Count(.Range("I:I")) + 4
Area = "$C$4:$I$" & Linha
If Envolvidos <> Empty Then
.Range(Area).AutoFilter Field:=7, Criteria1:="*" & Envolvidos & "*"
End If
If Envolvidos = Empty Then
.Range(Area).AutoFilter Field:=7
End If
End With
Target.Select
End If
Exit Sub
Erro:
MsgBox "Erro!", vbCritical, "FILTRO"
End Sub