Não faz sentido dar certo numa situação e errada em outra. Sugiro que depure seu código.
Sugiro que você depure o código pressionando a tecla F8, para analisar a execução do código linha a linha.
Quando a expressão do teste condicional (If) estiver iluminada, selecione o trecho
Cells(lngRowsCount, "A") = TxtCadastro.Value
Pressione a tecla Shift+F9. Essa combinação de teclas avalia uma expressão selecionada no VBE em tempo de execução.
Pelo que diz, essa expressão deverá te fornecer Verdadeiro, certo? Se fornecer Falso, analise o conteúdo do Cells(lngRowsCount, "A") e depois de TxtCadastro.Value e veja se há algo esquisito.
Se tudo estiver correto, em seguida avalie o trecho abaixo e pressione Shift+F9:
Cells(lngRowsCount, "B") = TxtNome.Value
Proceda da mesma forma como explicado no caso anterior, e faça isso também analisando a expressão Cells(lngRowsCount, "C") = "Admitido"
---
Esse seu teste condicional pode ser simplificado para:
If Cells(lngRowsCount, "A") = TxtCadastro _ And Cells(lngRowsCount, "B") = TxtNome _ And Cells(lngRowsCount, "C") = "Admitido" Then Cells(lngRowsCount, "C") = "Admitido>" End If
Felipe Costa Gualberto - http://www.ambienteoffice.com.br