Google+

Macro para Ocultar/Exibir Linhas e Colunas

Vimos em artigos anteriores como a programação em VBA no Excel pode ser um diferencial na construção de planilhas mais elaboradas e mais eficientes. Uma aplicação que frequentemente é desenvolvida é a elaboração de Dashboards no Excel, que nada mais são do que painéis informando um conjunto específico de indicadores. Para este tipo de aplicação, o uso de botões de comando e macros em VBA é muito frequente. Com este uso, vem a necessidade de, eventualmente, ocultarmos ou exibirmos algumas colunas ou linhas no Excel. No artigo de hoje vamos entender como funciona o código em VBA para executar estas duas tarefas.

Vamos começar pelo código que oculta um grupo de colunas no Excel. Nossa função é mostrada abaixo.

 

Sub esconderColunas()

‘Escondendo colunas de B a D

Columns(“B:D”).EntireColumn.Hidden = True

End Sub

Se você não faz idéia de como ou onde inserir este código Clique Aqui para entender mais sobre macros ou aqui para aprender os recursos básicos do VBA.

Veja que o código é simples, mas vamos entender realmente o conceito. Após a declaração da função acrescentamos um comentário – em VBA, o comentário é marcado pelo caractere . O código que executa o comando de ocultar as colunas é o EntireColumn.Hidden que recebe o valor True. Neste trecho estamos dizendo ao Excel para, dado o intervalo de B até D, vamos esconder as colunas inteiras (EntireColumn.Hidden) atribuindo o valor True para validar. Intuitivamente já inferimos que, para mostrar as colunas escondidas, basta atribuir o valor False.

 

Sub mostrarColunas()

‘Mostrando colunas de B a D

Columns(“B:D”).EntireColumn.Hidden = False

End Sub

 

Construímos duas funções para atribuir cada uma aos botões da planilha abaixo.

1 - ocultar exibir linhas colunas excel

 

Assim, ao atribuir as macros para cada botão, podemos manipular nossa planilha para exibição ou não das colunas.

Como VBA é prática e lógica entendemos que, para realizar a mesma tarefa de ocultar ou exibir linhas, basta utilizar o mesmo princípio acima, com as funções:

Sub escondeLinhas()

‘Escondendo as linhas de 1 a 5

Rows(“1:5”).EntireRow.Hidden = True

End Sub

 

Sub mostraLinhas()

‘Mostrando as linhas de 1 a 5

Rows(“1:5”).EntireRow.Hidden = False

End Sub

 

Veja que nosso comando agora é EntireRow.Hidden. Faça o download das planilhas de exemplo deste artigo para estudar e para ajudar você a produzir documentos cada vez mais elaborados e eficazes.

2 - macro ocultar exibir linhas colunas excel

Aprenda os primeiros passos para se tornar um “monstro” em VBA, CLIQUE AQUI e conheça o curso em 2 Ebooks.

Até o próximo artigo!

 

email
Updated: 21/01/2015 — 09:43

47 Comments

Add a Comment
  1. Prezado,
    Obrigado pelas explicações. O artigo foi muito útil, mas estou precisando ocultar colunas diferentes/separadas.
    Ex: ao clicar no botão da macro, oculta-se a coluna B e a coluna Q ao mesmo tempo.
    No aguardo.

    1. Olá amigo, obrigado por visitar o meu site, você pode fazer da seguinte forma:

      Exemplo:
      Ocultar as colunas B e Q

      Sub ocultarBQ()

      ‘ ocultarBQ Macro

      Range(“B:B,Q:Q”).Select
      Selection.EntireColumn.Hidden = True

      End Sub

      Exemplo:
      Reexibir colunas B e Q.

      Sub exibirBQ()

      ‘ exibirBQ Macro

      Range(“B:B,Q:Q”).EntireColumn.AutoFit
      Selection.ColumnWidth = 8.57

      End Sub

      Obs: o valor 8.57 é a largura da coluna ao ser reexibida, aí você especifica a largura que desejar.

      É isso, espero ter ajudado.

      Abraço.

      1. Estou usando a seguinte macro:

        Sub OcultarMostrarJAN()

        If Columns(“Q”).EntireColumn.Hidden = True Then
        Columns(“Q”).EntireColumn.Hidden = False
        ElseIf Columns(“Q”).EntireColumn.Hidden = False Then
        Columns(“Q”).EntireColumn.Hidden = True
        End If
        End Sub

        Ela funciona perfeitamente para ocultar e mostrar. No entanto, preciso que além da coluna Q a B também seja ocultada/mostrada.

        Tentei colocar a macro informada por você, mas não deu certo! Na verdade, achei muito interessante a questão da colunar vir na largura que eu quiser, mas no meu caso não há essa necessidade.

        Usando a macro que tenho, há como adaptá-la?

        Obrigado pela atenção!

        1. Olá amigo, boa tarde.

          Ok! agora entendi exatamente o que você precisa, então vamos lá:

          Sub ocultar_exibirBQ()

          Range(“B:B,Q:Q”).Select
          If Selection.EntireColumn.Hidden = True Then
          Selection.EntireColumn.Hidden = False

          ElseIf Selection.EntireColumn.Hidden = False Then
          Selection.EntireColumn.Hidden = True

          End If
          End Sub

          Veja se é isso mesmo.

          At.
          Raymson Evellark.

        2. Consegui.

          Fiz a seguinte modificação de acordo com o que você colocou:

          Sub OcultarMostrarJAN()

          If Range(“B:B,Q:Q”).EntireColumn.Hidden = True Then
          Range(“B:B,Q:Q”).EntireColumn.Hidden = False
          ElseIf Range(“B:B,Q:Q”).EntireColumn.Hidden = False Then
          Range(“B:B,Q:Q”).EntireColumn.Hidden = True
          End If
          End Sub

          Não sei se é a melhor macro, mas funciona para o que eu quero!

          Obrigado pela dica.

          Espero contar com você para outras dúvidas que tiver!

          Até mais.

          1. Bom demais! e dessa forma as colunas não ficam selecionadas ao serem exibidas.

            Pode contar comigo sim.

            Abraço.
            Raymson.

  2. Raymson,

    Estou com a seguinte dúvida: criei vários módulos VBA para cada conjunto de colunas que queria ocultar/exibir de acordo com a sua ajuda (ex: módulo para BQ, outro para CR, outro para DS e assim por diante).

    No entanto, tenho 16 módulos e preciso criar outros e ficará grande.

    Há uma forma de usar um único módulo para todos eles?

    No aguardo!

    1. Olá Lucas.

      Então… na verdade você não precisa criar um módulo para cada par de colunas que quiser ocultar, no mesmo módulo após finalizar (end sub) dê um enter e cole o código que será o mesmo anterior alterando apenas o (“B:B,Q:Q”) para o próximo par que quiser conforme exemplo abaixo: (“A:A,B:B”) =D

      Sub OcultarMostrarjJAN()

      If Range(“B:B,Q:Q”).EntireColumn.Hidden = True Then
      Range(“B:B,Q:Q”).EntireColumn.Hidden = False
      ElseIf Range(“B:B,Q:Q”).EntireColumn.Hidden = False Then
      Range(“B:B,Q:Q”).EntireColumn.Hidden = True

      End If

      End Sub

      Sub OcultarAB()

      If Range(“A:A,B:B”).EntireColumn.Hidden = True Then
      Range(“A:A,B:B”).EntireColumn.Hidden = False
      ElseIf Range(“A:A,B:B”).EntireColumn.Hidden = False Then
      Range(“A:A,B:B”).EntireColumn.Hidden = True

      End If

      End Sub

  3. Perfeito!!!!! Ficou bem limpo. Só um módulo.

    Quando vou vincular, cada um dos “Subs” estão lá.

    Obrigado!

  4. Bom Dia.
    Sua explicação me deu um rumo, mas preciso de mais uma ajuda:
    preciso fazer 3 botões:

    1 botão: Reqisição:
    aparece linhas 13:25
    oculta linhas 26:49

    2 botão: alteração:
    aparece linhas 26:34
    oculta linhas 13:25 e 35:49

    3 botão: desligamento
    aparece linhas 35:65
    oculta linhas 13:34

    Você consegue me ajudar?

    Obrigada.

    1. Boa tarde Francelize tudo bem?

      Fiz aqui o código para o primeiro botão, atribua a macro com este código ao botão Requisição:

      Sub BT_requisicao()

      If Rows(“13:25”).EntireRow.Hidden = True Then
      Rows(“13:25”).EntireRow.Hidden = False
      Rows(“26:49”).EntireRow.Hidden = True
      ElseIf Rows(“13:25”).EntireRow.Hidden = False Then
      Rows(“13:25”).EntireRow.Hidden = True
      Rows(“26:49”).EntireRow.Hidden = False

      End If

      End Sub

      Sempre que você clicar no botão ela vai verificar se o intervalo 13:25 está oculto ou não, se estiver ele será exibido e o intervalo 26:49 será oculto e vice versa.

      Use esta mesma lógica para os outros 2 botões, se não conseguir me avise.

      Raymson.

  5. Olá amigo! Excelente explicação e ótimo site! Parabéns.

    Teria como eu fazer um macro para que, através de uma box criada, eu selecionasse um número “x” de linhas desejadas e pressionasse o botão “ok” (que teria a mcro vinculada) e em uma outra Worksheet a quantidade de linhas selecionadas fosse mostrada e o restante ocultado?

    Ex: Quero que na Worksheet “custos” mostre somente 5 das 100 linhas disponibilizadas, a partir do número imputado em uma janela. Outro exemplo, quero que mostrem 90 linhas, dai eu vou na janela e ponho 90 e pressiono o botão da macro com a escrita “ok”, dai automaticamente abriria a worksheet selecionada e disponibilizaria 90 linhas.

    Tem como fazer?

    1. Olá Vitor, tudo bem?

      Se eu entendi bem, acho que é isso que você precisa, segue código abaixo:

      Sub macro1()

      Sheets(“Plan2”).Select
      Cells.EntireRow.Hidden = True
      Cells(1, 1).Select

      For x = 1 To Plan1.Range(“A1”).Value Step 1

      ActiveCell.Offset(0, 0).EntireRow.Hidden = False
      ActiveCell.Offset(1, 0).Select

      Next

      End Sub

      Fiz o código partindo da Plan1 onde você definirá na célula A1 (Você pode alterar no código para a célula que você quiser) o valor da quantidade de células no qual você quer deixar visíveis na Plan2 (Você também pode alterar a plan2 para qual você quiser).

      Então é isso amigo, veja se está tudo certo e se te atende, qualquer dúvida estou a disposição.

      At.
      Raymson.

      1. Raymson,

        Está dando erro na linha da macro Cells.EntireRow.Hidden = True ao executar essa sua macro.

        Além disso, eu esqueci de comentar que as linhas que devem mostrar na Plan2 são a partir da linha 12 até a 102, pois da linha 12 pra cima é o cabeçalho, com titulos etc e após a linha 102 é o resultado final. A lógica da sua macro está perfeita: Colocar um número na célula determinada na Plan1 (ex: “A1”) e pressionar a macro para que na Plan2 mostre somente a quantidade de linhas determinada na “A1”. Porém preciso que mostre/oculte a partir da linha 12 da Plan2 até a 102 (91 linhas totais).

        Compliquei? rsrs

        abs!

        1. Olá Victor, tudo bem?

          Não complicou! na verdade é bem simples, basta alterar na linha 3: Cells(1,1).Select para Cells(12,1).Select 🙂

          Quanto ao erro, algo está errado aí, porque o comando está certinho, executo normalmente aqui, dê uma olhada na planilha que usei de exemplo e te enviei em anexo no email de ontem, tente copiar o código dela e colar no módulo da sua pasta de trabalho.

          Faça o teste e se o erro persistir me avise e se possível me envie o arquivo ou me informe a versão do seu Microsoft Office.

          Raymson.

  6. Anderson Lemke

    Muito Bom,

    Preciso de sua ajuda e creio que será mamata.

    Gostaria de fazer em uma planilha, este processo de Ocultar/Exibir, porém, gostaria de atribuir estas duas macros ao mesmo botão.

    Como faço?

    1. Olá Anderson tudo bem?

      Bom, para atribuir duas macros a um botão você pode fazer de duas formas:

      1 – Unindo as macros e transformando as em apenas uma, copiando o código da macro B (Exceto Sub e End Sub) para o final do código da macro A antes do End Sub e fazendo devidas adaptações (Se necessário)

      2 – Criar uma terceira macro fazendo chamada às duas macros usando o comando Call, exemplo:
      Call “Nome MacroA”
      Call “Nome MacroB”

      É bem simples, espero ter ajudado.

      Abraço.
      Raymson.

  7. Anderson Lemke

    até que funcionou, mas ao clicar, ele realiza as duas tarefas ao mesmo tempo.

    eu queria fazer da seguinte forma:

    ao clicar uma vez, a coluna aparecesse e ao clicar novamente, a coluna ocultasse.

    Obs. Utilizei a opção Nº 02, pois achei mais fácil, uma vez que já tenho as macros prontas.

    1. Anderson.

      Então o que você precisa não é executar duas macros com um botão, é apenas uma macro que alterne entre exibir e ocultar determinada coluna, segue abaixo como exemplo se fosse a coluna F:

      Sub macro1()

      If Columns(“F:F”).EntireColumn.Hidden = False Then
      Columns(“F:F”).EntireColumn.Hidden = True
      ElseIf Columns(“F:F”).EntireColumn.Hidden = True Then
      Columns(“F:F”).EntireColumn.Hidden = False

      End If

      End Sub

      At.
      Raymson

  8. Bom dia,Excelente site, Parabéns…
    Amigos, vejam se vcs podem me ajudar…
    Eu tenho uma planilha onde gostaria de exibir uma linha(oculta) de cada vez ao clicar no botão de uma macro: Exemplo: ultima linha exibida: 28, se eu precisasse de mais uma linha, eu clicasse e exibisse a linha 29, e se precisasse de mais uma clicasse no mesmo botão e apareceria a linha 30, e assim por diante… No aguardo

    1. Boa tarde Amigo.

      Este é o código da macro que você precisa:

      Sub Macro1()

      Selection.End(xlDown).Select
      ActiveCell.Offset(1, 0).EntireRow.Hidden = False

      End Sub

      Atribua a um botão e veja se é isso mesmo, qualquer coisa me avise.

      Raymson.

      1. Desculpe amigo, mas não entendi direito…Vou explicar melhor…

        Tenho as linhas 13:61, com as mesmas especificações, só que so vou deixar disponivel para preenchimento(mostradas), apenas 13:30, da linha 31 até a ultima linha(linha 61), vou deixar oculto, quando precisar acrescentar mais uma linha além das que já estarão exibidas, eu clicaria em uma macro e ela mostraria a linha seguinte

        1. Olá Marcio, você poderia me enviar a planilha? eu faço e lhe devolvo pronta.

          At.
          Raymson.

          1. Sim, claro…já lhe enviei…

          2. Olá Márcio.

            A solução era exatamente aquele mesmo código que lhe enviei em um comentário anterior, eu inseri na planilha e lhe enviei no seu email, qualquer dúvida aí me avise.

            Raymson.

  9. MARCO AURELIO

    Olá, tenho um problema um pouco mais complexo talvez.
    Quando tento criar uma macro para exibir e ocultar as colunas, não funciona pq existem celulas mescladas em linha…
    Dessa forma todas colunas são ocultadas.

    Exemplo:
    A1:h1 estão mescladas

    Crio a macro para ocultar a coluna A e o resultado é que as colunas de “a” ao “h” ficam ocultas.

    Alguem sabe como resolver??

    1. Olá Marco Aurelio.

      É bem simples, você deve estar tentando gravar a macro do modo tradicional, faz o seguinte, tecle Alt + F11 e insira no módulo da macro o seguinte código:

      Sub TestMacro3()
      Range(“A:A”).EntireColumn.Hidden = True
      End Sub

      Desta forma irá ocultar apenas a coluna A independente da mesclagem.

      Espero ter ajudado.
      Raymson

  10. Guilherme Guerra

    Olá boa tarde,

    Gostaria de saber se você pode me ajudar em uma macro ou alguma forma de arrumar a planilha do jeito que eu preciso!

    Tenho uma planilha com 4 colunas , data, problema, descrição, gostaria de fazer de uma forma que ao preencher as linhas, sempre manter 10 linhas.

    Como exemplo: ao preencher a décima linha ao ir pra próxima a primeira linha seria ocultada e assim por diante sempre que eu preencher mais uma, some a primeira…e depois criar uma macro para visualizar por data ou por número de linhas, alguma forma de visualizar histórico.

    Agradeço desde já!

    1. Olá Guilherme, boa tarde!

      A solução foi enviada ao seu email com um exemplo, mas para que possamos ajudar outras pessoas que necessitem de algo parecido com a sua solicitação, a solução é a seguinte macro:

      Sub Macro1()

      Selection.End(xlDown).Select
      ActiveCell.Offset(1, 0).EntireRow.Hidden = False
      Selection.End(xlUp).Select
      ActiveCell.Offset(0, 0).EntireRow.Hidden = True

      End Sub

      Raymson

  11. Josimar Machado

    Olá, belo trabalho o que você faz, muito obrigado por nos ajudar!

    Na minha planilha existe uma coluna que contem números ou texto nas linhas, gostaria de uma macro que ao executar todas as que possuem texto ficassem ocultas, e outra na função de reexibir e isso entre as linhas D3:D150 .

    Se puder me ajudar fico grato.
    Obrigado!

  12. Patrick Silva

    Olá,

    Objetivo: ocultar/exibir linhas da planilha conforme a seleção de número de parcelas para um financiamento.

    Descrição: Tenho uma planilha que demonstra o cálculo de financiamentos, que está estruturada para suportar até 36 parcelas demonstradas linha a linha (há um espaçamento extra offset a cada parcela). O usuário tem a possibilidade de selecionar através de uma drop down list o número de parcelas que deseja com vínculo na célula A5 (sendo opções de 1 a 36 parcelas).

    Eu gostaria que quando o usuário selecionasse, por exemplo, 12 parcelas fossem ocultadas as demais 24 linhas mostrando somente as 12 linhas correspondentes as parcelas solicitadas e a linha do total (que fica no final após a linha correspondente a parcela 36) na drop down list.

    Seria possível algo nesse sentido?

    Obrigado.

    Patrick Silva

    1. Patrick Silva

      Olá,
      Observando seus códigos e na tentativa de implementar em minha planilha fiz o seguinte:

      Sub ocultar()

      Cells.EntireRow.Hidden = False ‘Para exibir qualquer linha que esteja oculta
      Rows(“60:91″).EntireRow.Hidden = True ‘Para ocultar as linhas desejadas

      End Sub

      O que eu queria na verdade é que no lugar de colocar a linha 60 a 91, eu pudesse colocar a celulas A7 e A9 da Plan1, que trariam as variaveis para esse código. Como posso fazer isso de forma simples por favor. Tentei colocar as células no local entre parenteses mas não funciona.

      Desde já agradeço a ajuda.

      Patrick Silva

      1. Olá Patrick, boa tarde, tudo bem?

        Somente as células não dá pra ocultar, você pode ocultar as colunas ou linhas específicas, neste caso para ocultar as linhas 7 e 9 você pode usar Range(“7:7,9:9”).EntireRow.Hidden = True

        Tem também a opção de você ocultar os VALORES das células, veja um exemplo neste artigo:

        Veja se ajuda, qualquer coisa me avise.
        Abraço.

        Raymson.

        1. Patrick Silva

          Ola Raysom,
          De fato não quero ocultar as linhas 7 e 9, quero ocultar as linhas que estão indicadas nessas células. Por exemplo, na célula A7 apresenta 36 e na célula A9 apresenta 91, então quero que sejam ocultas as linhas entre (“36:91”). Essa solução apresentada oculta as linhas de 7 a 9 enquanto o objetivo é buscar as variáveis constantes nessa célula e usar na macro. Não sei se essa sintaxe é a melhor para o caso, mas é o que meu conhecimento limitado me permite fazer. Se quiser posso enviar a planilha por email para melhor entendimento.
          Obrigado.

          1. Olá Patrick.

            Agora sim, entendi perfeitamente, mas vamos tentar facilitar essa sintaxe…

            Existe um ponto inicial? tipo, a primeira linha a ser ocultada será sempre a partir de uma específica? ou será aleatório tanto a linha inicial quanto a final?

    2. Olá patrick.

      Neste caso já temos uma questão semelhante respondida anteriormente, é a do leitor Victor, dê uma lida nos comentários acima.

      Se isso não ajudar me avise.

      Raymson.

  13. sérgio xavier

    Bom dia, fiquei impressionado com as informações do site, parabéns!
    não sei se vc pode me ajudar num problema, que entendo que pra vc deve ser facílimo resolver.
    tenho uma planilha com aproximadamente 300 linhas, em cada uma os dados relativos à uma opção de determinada ação do bovespa. gostaria de poder ocultar todas as linhas que apresentassem as opções sem negócios.
    existe uma coluna “num.de negócios”. gostaria que as linhas que tivessem “0” ou “-” nessa coluna fossem ocultadas. vc poderá me ajudar nisso? lhe aguardo e desde já agradeço.
    abraço;

    1. Olá Sérgio! tudo bem?

      Por gentileze poderia enviar a planilha no email contato@excelpratico.com?

      Aguardo, um abraço.

      Raymson.

      1. sérgio xavier

        olá raysom, acabei por encontrar uma solução bem simples pro meu problema.
        basta acionar o auto-filtro na coluna que desejo e executar a seguinte macro:

        Sub OcultaSemNeg()
        Selection.AutoFilter Field:=1, Criteria1:=”0″, Operator:=xlAnd
        End Sub

        Sub ReexibeSemNeg()
        Selection.AutoFilter Field:=1
        End Sub

        pimba! 1 segundo e tudo resolvido.
        mas agradeço seu interesse e espero contar com sua colaboração em problemas/possibilidades futuras.
        novamente parabéns pelo site e obrigado

        1. Ôpa, tudo bom Sérgio!

          Que bom que conseguiu amigo, solução inteligente!

          Obrigado e com certeza se precisar estamos à disposição.

  14. thiago frança

    Bom dia. como faço pra esconder linhas a partir de uma determinada escolha de uma lista.

    exemplo. uma lista dos meses do ano eu escolho janeiro e toda linha que contenha esse dado fique oculto.
    No aguardo da ajuda!

    1. Boa noite!

      Sugiro utilizar uma caixa de seleção, insira os 12 meses e para cada um você utiliza o seguinte código:

      Sub escondeLinhas_”nome_do_mes”()

      Rows(“1:30”).EntireRow.Hidden = True
      End Sub

      Sub mostraLinhas_”nome_do_mes”()

      Rows(“1:30”).EntireRow.Hidden = False
      End Sub

      Observe que neste caso estou ocultando o intervalo das linhas 1 à 30 (No seu caso você deverá definir as linhas que serão ocultas para cada mês)

      Depois é só atribuir cada macro ao seu determinado mês na caixa de seleção.

      Espero ter ajudado, qualquer dúvida me avise.

      Raymson.

  15. PRIMEIRAMENTE BOM DIA, GOSTARIA DE SALIENTAR QUE GOSTEI MUITO DO SITE E ARTIGOS AQUI PRESENTES…ESTOU INICIANDO NO VBA, EMBORA JA TENHA UM CERTO CONHECIMENTO EM EXCEL, NUNCA UTILIZEI MUITO MACROS.

    POIS BEM, ESTOU COM UMA PLANILHA ONDE DESEJO QUE AS COLUNAS PARA PREENCHIMENTO DE NOVOS ADITIVOS SÓ SEJAM LIBERADAS QUANDO A ANTERIOR JA ESTIVER PREENCHIDA. PARA ISSO, UTILIZEI-ME DE COMBOBOX’s E, SEMPRE QUE SELECIONADO O TIPO DE PREENCHIMENTO DAS CÉLULAS. O OUTRO BOTÃO APARECE PARA QUE, CASO NECESSÁRIO, PREENCHA OUTRAS COLUNAS E ASSIM SUCESSIVAMENTE.

    PORÉM SÃO 10 COMBOBOX’s QUE TRABALHAM EM CONJUNTO UMA COM A OUTRA E GOSTARIA DE PODER OCULTAR AS COLUNAS EM QUE ELAS ESTÃO INSERIDAS, PORÉM DA ERRO POIS OS BOTÕES NAO APARECEM MAS ESTÃO ALI…E NÃO CONSIGO OCULTAR NO PRÓPRIO VBA POIS DA ERRO 438 E TALS…INCLUSIVE QUANDO USO COMBOBOX2().ENABLE=FALSE ELE CONTINUA DANDO ERRO…NÃO SEI COMO SAIR DESTA, CASO POSSA ME AJUDAR…SEGUE OS CÓDIGOS USADOS.

    Private Sub Worksheet_SelectionChange(ByVal Target As Range)

    If Range(“FF4”).Value = “NADA” Then
    ComboBox2.Visible = False
    Columns (“FN:IP”).EntiredColumn.Hidden=false
    End If

    If Range(“FF4”).Value = “PRORROGAÇÃO” Then
    ComboBox2.Visible = True
    End If

    If Range(“FF4”).Value = “VALORES” Then
    ComboBox2.Visible = True
    End If

    If Range(“FO4”).Value = “NADA” Then
    ComboBox3.Visible = False
    End If

    If Range(“FO4”).Value = “PRORROGAÇÃO” Then
    ComboBox3.Visible = True
    End If

    If Range(“FO4”).Value = “VALORES” Then
    ComboBox3.Visible = True
    End If

    If Range(“FX4”).Value = “NADA” Then
    ComboBox4.Visible = False
    End If

    If Range(“FX4”).Value = “PRORROGAÇÃO” Then
    ComboBox4.Visible = True
    End If

    If Range(“FX4”).Value = “VALORES” Then
    ComboBox4.Visible = True
    End If

    If Range(“GG4”).Value = “NADA” Then
    ComboBox5.Visible = False
    End If

    If Range(“GG4”).Value = “PRORROGAÇÃO” Then
    ComboBox5.Visible = True
    End If

    If Range(“GG4”).Value = “VALORES” Then
    ComboBox5.Visible = True
    End If

    If Range(“GP4”).Value = “NADA” Then
    ComboBox6.Visible = False
    End If

    If Range(“GP4”).Value = “PRORROGAÇÃO” Then
    ComboBox6.Visible = True
    End If

    If Range(“GP4”).Value = “VALORES” Then
    ComboBox6.Visible = True
    End If

    If Range(“GY4”).Value = “NADA” Then
    ComboBox7.Visible = False
    End If

    If Range(“GY4”).Value = “PRORROGAÇÃO” Then
    ComboBox7.Visible = True
    End If

    If Range(“GY4”).Value = “VALORES” Then
    ComboBox7.Visible = True
    End If

    If Range(“HH4”).Value = “NADA” Then
    ComboBox8.Visible = False
    End If

    If Range(“HH4”).Value = “PRORROGAÇÃO” Then
    ComboBox8.Visible = True
    End If

    If Range(“HH4”).Value = “VALORES” Then
    ComboBox8.Visible = True
    End If

    If Range(“HQ4”).Value = “NADA” Then
    ComboBox9.Visible = False
    ComboBox10.Visible = False
    End If

    If Range(“HQ4”).Value = “PRORROGAÇÃO” Then
    ComboBox9.Visible = True
    End If

    If Range(“HQ4”).Value = “VALORES” Then
    ComboBox9.Visible = True
    End If

    If Range(“HZ4”).Value = “NADA” Then
    ComboBox10.Visible = False
    End If

    If Range(“HZ4”).Value = “PRORROGAÇÃO” Then
    ComboBox10.Visible = True
    End If

    If Range(“HZ4”).Value = “VALORES” Then
    ComboBox10.Visible = True
    End If

    End Sub

  16. Patricia Freitas

    Olá, estou criando uma planilha e acredito que a utilização de macros vai me ajudar. Porém, sou iniciante, não tenho muito conhecimento sobre macros. É uma planilha de Nota Fiscal. Pensei em colocar comandos em cada linha para ativar ou não as fórmulas aplicadas. Por exemplo: Serviço com NF terá os cálculo de impostos e serviço sem NF não terá cálculo de impostos. Deu pra entender? Se puder me ajudar. Adorei o site e as explicações. Obrigada.

    1. Olá Patrícia!

      Entendi sim e é bem simples! basta utilizar a condicional SE, veja neste artigo como utilizar: http://excelpratico.com/funcao-se/

      Se tiver qualquer dúvida me envie a sua planilha que faço pra você. Abraço!

  17. Olá

    Antes de mais, excelente site, estou aprendendo muito.
    Precisava de uma ajudinha sua

    Precisava de fazer aparecer e desaparecer um grupo de linhas com um botão do tipo Controle Giratório onde este ia definir quantas linhas devem aparecer ou desaparecer.

    1. Olá Diego!

      Lhe enviei uma planilha via email.

Deixe uma resposta para Francelize Cancelar resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Excel Prático © Todos os direitos reservados. 2014 - 2017