Boa noite, Osvaldomp.
Vou tentar esclarecer melhor... mas se você tiver uma outra ideia pode ser que EU esteja no caminho errado.
Me parece que a fórmula é replicada automaticamente ao inserir linha na Tabela.
Sim... é isso mesmo. Isso é desejado para toda nova linha que for inserida.
A sua macro só insere fórmula na coluna "Dia da Semana", o que não precisaria fazer pois a linha inserida automaticamente já terá a fórmula.
Isso também se torna necessário (caso haja alteração do campo data de algum dos eventos posteriormente, ele corrige automaticamente o dia da semana).
A fórmula da coluna "Código" como pode perceber gera valores únicos para os "Itens" denominados "pacientes".
Os códigos gerados são compostos por partes das colunas "Registro", "Data", "Nome / Razão Social" e "Data Nasc / Compra".
Suponhamos que tenha um paciente cujo Registro seja 108 e que tenha gerado para ele o seguinte código:
08 - xxx.xxxx.xxx
Pode ser que esse número de registro mude conforme a ordem em que as novas linhas assumam na tabela... o Registro dele pode passar a ser 129 por exemplo e o código passaria a ser:
29 - xxx.xxxx.xxx
Da maneira que está o código do item "Paciente" muda a cada vez que uma nova linha é inserida pois o item pode variar a posição da linha na tabela à medida que novos itens são acrescentados.
Não entendi esta parte.
O número de registro pode mudar pois tenho uma macro que reordena as linhas da tabela conforme a data e o cumprimento de alguns quesitos (a tabela possui outras colunas que não possuem efeito para essa atividade aqui postulada).
Dito isso, preciso de uma macro ou parte de um código que fixe esse "Código" caso as condições citadas anteriormente sejam cumpridas mas mantenha a fórmula caso ainda não tenham sido atendidas.
Atualmente eu utilizo aquele trecho do código para cada linha nova inserida e ele copia e cola os valores desde a segunda linha até a última linha,porém me deparei com um problema.
Pode acontecer de nem todos as condições que citei para que rodasse a macro serem atendidas em um primeiro momento.
Explico: Inseri uma nova linha e em alguma linha anterior ainda que sendo um item "paciente" o campo data estava preenchido porém eu ainda não tinha a informação por exemplo sobre a "Data de Nasc".
Nessa situação após eu obter posteriormente a data de nascimento eu precisaria aplicar a fórmula novamente no campo da coluna código para então obter o código desse paciente já que não existia mais a fórmula nesse campo pois foi substituído anteriormente pela macro mesmo sem todos os dados/quesitos que compõem o "código" desse "paciente'
Preciso que o código então substitua as fórmulas pelos valores caso as condições tenham sido atendidas... porém os códigos que já foram fixados não devem mais ser alterados (lembrando que os números de registro podem mudar e isso não deve alterar um código já "gerado/fixado").
Não sei se esse é o melhor caminho... se você tiver uma ideia melhor será bem vinda.
Essa necessidade de "códigos" únicos é porque esses dados depois são copiados para uma outra planilha em que são enviados somente novos "códigos" eliminando dados em duplicidade.
Nessa macro os códigos que já foram copiados não são copiados novamente desse modo preciso que os códigos uma vez gerados (que tenham a fórmula substituída pelo valor) não sejam mais modificados para que nenhuma informação seja perdida ou transportada em duplicidade.
Imagine a situação em que um paciente possui um dado código mas que por algum motivo a ordem na tabela alterou e com isso seu registro também e consequentemente o seu código também alteraria. Diante disso caso eu tenha transportado esse código para a outra planilha e posteriormente o código altere vou levar a mesma informação para a outra planilha novamente ainda que sejam códigos diferentes (isso não deve ocorrer)
A solução de usar CPF ou nome para transportar valores únicos não serve pois um mesmo paciente pode receber mais de um tipo de atendimento no mesmo dia e com isso temos dois registros/códigos diferentes (e os dois devem ser transportados para a outra planilha).
A explicação ficou bem longa mas tentei colocar a minha necessidade da maneira mais clara possível.Qualquer dúvida pode continuar perguntando. Tento melhorar a explicação.
Muito obrigado e boa noite.