Notifications
Clear all

Registro de alterações em um botão de comando

21 Posts
3 Usuários
0 Reactions
4,517 Visualizações
(@brunsftw)
Posts: 93
Estimable Member
Topic starter
 

Bom dia!
Eu tenho o seguinte código implementado em um botão de comando. A função dele é a seguinte: Toda a vez que eu fizer alterações na minha planilha ele deve abrir uma outra planilha de Histórico/Registro com as alterações que os usuários fizeram ao clicar no botão.
Aqui vão alguns problemas que eu encontrei:

1 - Quando eu faço a primeira alteração e clico no botão ele não funciona. Acredito que é pelo fato de que esse primeiro clique serve para "rodar a macro".
2 - Ele não armazena todas as alterações. Quando eu fecho o arquivo e abro novamente o registro/histórico está em branco mesmo depois do arquivo ter sido salvo.
3 - Ele não mostra todas as alterações. Por exemplo: quando eu clico em uma célula em branco e digito "6,90" e depois altero o valor para "6,93" ele pega somente a última alteração.

Seria possível, que quando eu fizer qualquer alteração ele armazene automaticamente sem ser necessário eu ficar clicando no botão todas as vezes? E que eu só use o botão para que ele me mostre o relatório?

Obrigado!!

Sub Teste()

    Application.DisplayAlerts = False

    With ActiveWorkbook
        .SaveAs , , , , , , xlShared
        .KeepChangeHistory = True
        .HighlightChangesOptions When:=xlAllChanges
        .ListChangesOnNewSheet = True
        .HighlightChangesOnScreen = False
        .Worksheets("MF").Select
    End With

End Sub
 
Postado : 16/04/2013 5:48 am
(@brunsftw)
Posts: 93
Estimable Member
Topic starter
 

Valeu, Wagner!
Deixa eu tentar explicar melhor. Quando o usuário digitar o motivo da alteração dos dados no formulário, automaticamente essas informações vão para a planilha "relatório de alterações", certo?
Beleza. Quando isso acontecer, eu gostaria de que esses dados também aparecessem na planilha "registro". Por exemplo, no formulário de alteração há os campos "usuario" e abaixo um campo maior para digitar uma descrição. Vamos supor que eu digitei meu nome "Bruno" no campo de "usuário" e "erro de digitação" no campo da descrição. Esses dados foram transportados para a planilha "relatorio de alterações" cada um em determinada célula, correto?
Aí, eu gostaria que na planilha de "registro" apareça, por exemplo, algo como:
Valor antigo: "em branco" ou 0
Novo valor : "Bruno"
Valor antigo: "em branco" ou 0
Novo valor: "Erro de digitação"
Espero que desta vez tenha ficado mais claro haha

 
Postado : 18/04/2013 10:27 am
(@wagner-morel-vidal-nobre)
Posts: 4063
Famed Member
 

Cara...

Comunicação escrita é muito complexa!

Na planilha Registro você já tem AUTOR, VALOR e VALOR ANTIGO. Você quer acescentar na planilha Registro mais uma coluna (Coluna J), ao lado de VALOR ANTIGO, com a descrição que o usuário que já foi inserida na planilha Relatório de Alterações? É isso? Porque ter então dois registros das mesmas informações? Porque registrar a descrição e o usuário na planilha Relatório de Aletarções se esses dados (menos a descrição) já são registrados na planilha Registro? Porque não gravar logo, diretamente, a descrição, na planilha Registro?

 
Postado : 18/04/2013 11:12 am
(@brunsftw)
Posts: 93
Estimable Member
Topic starter
 

Valeu pela atenção mais uma vez, Wagner!
Realmente, comunicação escrita é meio complicada haha
Acho que se eu te mandar uma imagem, as coisas se esclarecem melhor.

 
Postado : 19/04/2013 4:57 am
(@wagner-morel-vidal-nobre)
Posts: 4063
Famed Member
 

brunsftw,

Bom Dia!

Agora acho que está certo.

 
Postado : 19/04/2013 7:12 am
(@brunsftw)
Posts: 93
Estimable Member
Topic starter
 

Valeu aí, Wagner!
Ficou perfeito haha
Só mais uma coisa, não querendo abusar da sua boa vontade, é possível proteger a planilha "registro" para que os usuários não consigam editar os dados?
Eu tentei proteger a planilha pelo próprio recurso do excel e não deu muito certo...
Valeu!

 
Postado : 19/04/2013 8:43 am
(@wagner-morel-vidal-nobre)
Posts: 4063
Famed Member
 

A senha para desbloquear a planilha Registro é 123.

 
Postado : 19/04/2013 6:49 pm
Página 2 / 2