none
Localizar células desprotegidas e colorir RRS feed

  • Pergunta

  • Prezados!

    Gostaria da ajuda de voces para o seguinte problema que venho enfrentando: tenho uma planilha de parametros que possui linhas com células bloqueadas e outras desbloqueadas. Eu não sei quais estão bloqueadas e quais não estão bloqueadas, só se olhar a propriedade de cada célula manualmente.

    Diante disso, preciso localizar via macro quais destas células estão marcadas como não bloqueadas (são células que recebem dados do usuário) e colocar uma cor padrão amarelo nelas para que visualmente o usuário saiba aonde digitar.

    Se for fazer manual não seria difícil, porém o problema é que são muitas linhas e colunas nesta situação, o que torna muito demorado analisar uma por uma.

    Neste caso, a planilha está desprotegida para aplicar estas configurações via macro, e depois eu irei protege-la para distribuir aos usuários alimentar somente as células amarelas.

    Então, a solução que eu queria é uma macro que localizasse quais células estão definidas como não bloqueadas e pintasse elas de amarelo. Não criei nada ainda pois não sei por onde começar...  

    Desde já agradeço a ajuda e o compartilhamento dos conhecimentos de voces profissionais na área.

    Leandro Bonafin

    LOG20 Logistica


    quinta-feira, 30 de abril de 2015 14:32

Respostas

  • Veja se o código abaixo atende sua necessidade:

    Sub Colorir_Células_Desprotegidas()
        Dim cell As Excel.Range
        Range("A1").Select
        Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
        For Each cell In Selection
            If cell.Locked = False Then
                cell.Interior.Color = 65535
            End If
        Next cell
    End Sub


    Rafael Kamimura

    quinta-feira, 30 de abril de 2015 16:59

Todas as Respostas

  • Veja se o código abaixo atende sua necessidade:

    Sub Colorir_Células_Desprotegidas()
        Dim cell As Excel.Range
        Range("A1").Select
        Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
        For Each cell In Selection
            If cell.Locked = False Then
                cell.Interior.Color = 65535
            End If
        Next cell
    End Sub


    Rafael Kamimura

    quinta-feira, 30 de abril de 2015 16:59
  • Rafael

    Muitissimo obrigado. Era exatamente isso que eu estava precisando. Funcionou 100% e rápido.

    Abraço.

    Leandro Bonafin

    LOG20 Logistica

    quinta-feira, 30 de abril de 2015 17:05
  • Beleza! =)

    Só não esqueça de marcar a minha postagem como resposta para encerrar o tópico.

    Abraços!


    Rafael Kamimura

    quinta-feira, 30 de abril de 2015 17:08