Notifications
Clear all

Ocultar/Exibir linhas com base em célula variavel

7 Posts
2 Usuários
0 Reactions
867 Visualizações
(@patrickls)
Posts: 0
New Member
Topic starter
 

Olá,

Creio que meu problema não seja tão difícil, espero.

Minha planilha consiste calcular parcelas de financiamento e mostrar os juros e amortização de acordo com o número de parcelas selecionada através de uma caixa de combinação. A planilha possui um total de 36 parcelas, distribuídas nas linhas intercaladas, sendo que a parcela 1 está na linha 21, a parcela 2 na linha 23, a parcela 3 na linha 25 e assim sucessivamente até a parcela 36 que estã na linha 91. Criei também um vinculo da caixa de combinação, e um procv em outra célula para mostrar que o número da parcela X corresponde a linha Y.

Meu OBJETIVO com a macro é que ela possa ocultar as linhas que não estão sendo utilizadas, por exemplo, se for selecionada na caixa de combinação 12 parcelas que está na linha 43, que fosse oculta a partir da linha 44 até a 91.

Tentei o seguinte caminho:

Sub ocultar()

Cells.EntireRow.Hidden = False 'Para exibir qualquer linha que esteja oculta
Rows("44:91").EntireRow.Hidden = True 'Para ocultar as linhas desejadas

End Sub

Isso funciona, mas não tem as variáveis. Gostaria que no lugar de ("44:91") pudesse funcionar indicando as células tipo ("A7:A9"), mas não funciona assim. Tentei com Rows.Range ("A7:A9").EntireRow.Hidden = True, mas também não dá certo e oculta somente essas celulas.

Por favor se alguem puder me ajudar ficarei muito grato.

Atte.

Patrick Silva

 
Postado : 09/04/2015 8:14 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Patrick seja bem vindo. Aproveite para ler as regras do forum, vc acabou de quebrar uma:

Regras do forum:

Upload
Devido a ultrapassagem da marca de 1,5Gb de armazenamento de arquivos na hospedagem do Planilhando, limitaremos o tamanho de cada arquivo para 2Mb sendo obrigatório o uso dos formatos .zip - .rar - .ice visto a gratuidade e não geração de recursos para bancar o site.

Assim sendo, todos os anexos deste tópico foram compactados.

Por favor leia as regras (link na minha assinatura), e passe a compactar todos os seus anexos.

Obrigado,

Fernando

 
Postado : 09/04/2015 8:19 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Tente assim:
Rows("7:9").Hidden = True

ou assim:
Range("A7:A9").EntireRow.Hidden = True

 
Postado : 09/04/2015 8:20 am
(@patrickls)
Posts: 0
New Member
Topic starter
 

Olá Fernando,

Desculpe e obrigado. Vou me atentar as regras.

No entanto a solução que apresentou ocultou as linhas 7 e 9, enquanto o que preciso é que ele use as referencias constantes nessas células para ocultar as linhas entre 44 e 91, que são os resultados contidos nessas células que indicam as linhas que devem ser ocultas.

Teriam alguma outra possibilidade?

Atte.

 
Postado : 09/04/2015 8:46 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

se as células tem numeros:

Rows(range("A7").value & ":" & range("A7").value).Hidden = True

 
Postado : 09/04/2015 10:18 am
(@patrickls)
Posts: 0
New Member
Topic starter
 

Fernando,
Se abrir o arquivo pode ver os comentários nas células A7 e A9. Elas correspondem aos números das linhas (range) que supostamente deveria estar ocultas. Ou seja, se na A7 apresenta 36 e na A9 apresenta 91, as linhas ocultas devem ser ("36:91") e não as linhas entre 7 a 9. Eu gostaria de vincular essa macro à caixa de combinação de forma que quando o usuário selecionar o número de parcelas, sejam exibidas apenas as linhas correspondentes, assim como o gráfico, como pode ver no arquivo.
Não sei se fui claro. Se a dúvida persistir favor perguntar.
De antemão lhe agradeço.
Patrick.

 
Postado : 09/04/2015 10:55 am
(@patrickls)
Posts: 0
New Member
Topic starter
 

Olá Fernando,
Consegui o que eu queria.
Ficou assim:

Sub ocultar()

Dim Li, Lf As Integer

Li = [A7]
Lf = [A9]

Cells.EntireRow.Hidden = False 'Para exibir qualquer linha que esteja oculta
Rows(Li & ":" & Lf).Hidden = True 'Para ocultar as linhas desejadas

End Sub

Obrigado.

 
Postado : 09/04/2015 2:06 pm