Existe uma maneira de ter valores “padrão” ou “espaço reservado” no Excel?

Existe uma maneira de ter valores “padrão” ou “espaço reservado” no Excel?

Eu tenho uma planilha com células que desejo que sejam editáveis ​​pelo usuário, mas que também quero ter valores "padrão" ou "espaço reservado", sempre que não houver dados inseridos pelo usuário. Existem alguns bons casos de uso para isso:

  • Evite erros de fórmula, ao mesmo tempo que fornece suposições razoáveis ​​quando um usuário não inseriu (ou excluiu) seu próprio valor.
    • Eu poderia usar a formatação condicional para alertar o usuário sobre os valores padrão, de modo a evitar que eles os ignorem - eles poderão então fazer uma escolha informada sobre se esse valor ainda é apropriado ou não para os cálculos pretendidos.
  • Forneça uma breve descrição do que se pretende inserir na célula, sem a necessidade de um segmento ou documento de “instruções” separado. Isso também eliminaria a necessidade de uma célula “Rótulo” próxima, em alguns casos em que realmente não é apropriado.

Para realizar o que desejo, preciso de alguma fórmula, script ou outra opção de planilha avançada que faça o seguinte:

  • Mostre o valor padrão na célula antes que o usuário insira os dados.
  • Permitir que o valor padrão seja encontrado por qualquer fórmula que faça referência à célula, quando não houver dados inseridos pelo usuário nessa célula.
  • Permita que o usuário substitua livremente (naturalmente, exatamente como faria com qualquer célula "normal") o valor exibido por seu próprio valor ou fórmula e faça com que os dados inseridos pelo usuário sejam encontrados por qualquer fórmula que faça referência à célula.
  • Quando a célula for apagada pela exclusão da entrada do usuário, reverta para o valor padrão.

Existe uma maneira de fazer isso no Excel ou estou pedindo muito de um programa de planilha aqui?

Responder1

Não existe uma maneira integrada de fazer isso; você precisará criar a sua própria.

Uma possibilidade é esta:

  1. Para cada célula para a qual você deseja um padrão, crie um intervalo nomeado com escopo de planilha referenciando essa célula e, no campo de comentário, insira o valor padrão necessário
  2. Adicione o Workbook_SheetChangeevento do módulo Workbook

    Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
        Dim nm As Name
        Dim cl As Range
    
        On Error Resume Next
        For Each cl In Target.Cells
            If IsEmpty(cl) Then
                For Each nm In Sh.Names
                    If nm.RefersToRange.Address = cl.Address Then
                        Application.EnableEvents = False
                        If IsNumeric(nm.Comment) Then
                            nm.RefersToRange.Value = Val(nm.Comment)
                        Else
                            nm.RefersToRange.Value = nm.Comment
                        End If
                        Application.EnableEvents = True
                        Exit For
                    End If
                Next
            End If
        Next
    End Sub
    

O que isso faz é:

  • Sempre que uma célula é alterada, o código do evento é executado
  • Se uma célula que foi alterada estiver vazia
    • Procure um intervalo nomeado com escopo de planilha que faça referência à célula
    • Se encontrado, copie o comentário do Nome no valor da célula, a conversão para numérico é apropriada

Responder2

Eu uso um método que funciona assim:

- um exemplo simples para registros escolares:

  • col A são os títulos das linhas: carteira de estudante, sobrenome, nome, data de nascimento, idade...
  • col B é a coluna fantasma: largura 1, justificar à esquerda, aumentar recuo 1, protegido, cor da fonte cinza, sem quebra de texto
  • col C são os campos de entrada

- Os valores da coluna B são carregados com o que você deseja mostrar na coluna C como padrão. Os valores podem vir de uma planilha auxiliar, uma fórmula que é atualizada à medida que as células são preenchidas, outra planilha com valores padrão, mensagens de erro...

- então, quando a carteira de estudante é inserida, o sobrenome, nome, data de nascimento, endereço, pais, etc. aparecem imediatamente como valores fantasmas nas linhas abaixo. Não há nada em nenhuma das células da coluna C, portanto os valores fantasmas na coluna B se estendem para a coluna C. (Os valores numéricos e de data devem ser formatados com uma função text().) Depois de verificar as informações do filho, o operador continua preenchendo no horário das aulas, professor de sala...

- Se algo precisa ser alterado, a célula é digitada, o que sinaliza que algo para aquela criança está diferente. (Nome de família, nome dos pais, endereço...)

- ou, o sobrenome e o nome poderiam ser inseridos, deixando o ID em branco, e o valor fantasma mostraria o ID do filho da planilha mestre.

- Uma planilha auxiliar pode mostrar um texto auxiliar que desaparece quando a célula na coluna C é tocada. Ou a lógica da planilha pode determinar que o texto auxiliar não é mais apropriado ou deveria mostrar algo diferente.

Os valores fantasmas são pesquisáveis, podem ser cinza para texto padrão ou vermelho para avisos e atualizados automaticamente à medida que as planilhas que os acompanham são atualizadas.

Uma limitação é que o texto fantasma não pode ser agrupado na coluna C.

informação relacionada