Notifications
Clear all

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

21 Posts
3 Usuários
0 Reactions
4,583 Visualizações
(@brunsftw)
Posts: 93
Trusted 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
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

brunsftw,

Bom Dia!

É necessário que você compacte sua planilha e coloque a mesma como anexo aqui no fórum.

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 16/04/2013 6:43 am
(@brunsftw)
Posts: 93
Trusted Member
Topic starter
 

Consegui resolver alguns problemas.
O único problema que persiste é o que eu vou tentar explicar detalhadamente.

Vamos supor que eu digitei "6,10" na célula B7. Depois eu deletei o valor, ou seja, a célula B7 ficou em branco. Aí eu digito outro valor na mesma célula "6,95".
Beleza. Aí eu clico no botão "Gerar Histórico". Na minha planilha "Registro" só aparece "6,10" para "6,95" e depois "em branco" para "6,95" quando na realidade deveria ser "em branco" para "6,10", "6,10" para "em branco" e "em branco" para "6,95".

Eu queria que toda vez que se alterasse o valor da célula, automaticamente gravasse as alterações, sem a necessidade de ficar apertando o botão "gerar histórico" a todo momento.

Obrigado!

 
Postado : 16/04/2013 8:55 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde!!

Por favor leia as regras, os arquivos devem ser compactado!!!!!!!!!!!!!!!!

Att

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 16/04/2013 9:30 am
(@brunsftw)
Posts: 93
Trusted Member
Topic starter
 

Bom dia!
Segue o exemplo em anexo!

 
Postado : 17/04/2013 5:12 am
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

Sua Planilha e seu projeto estão protegidos. Quais são as senhas?

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 17/04/2013 5:57 am
(@brunsftw)
Posts: 93
Trusted Member
Topic starter
 

1234

 
Postado : 17/04/2013 6:03 am
(@brunsftw)
Posts: 93
Trusted Member
Topic starter
 

Vou mandar o arquivo novamente

 
Postado : 17/04/2013 6:10 am
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

brunsftw ,

Boa Tarde!

Ok. Entendi seu código.

Na verdade você está utilizando uns comandos do Excel que na hora em que você dá o primeiro clique no botão ele transforma a planilha em uma planilha com pasta compartilhada e bloqueia, com senha, inclusive o projeto. O Excel cria, automaticamente, uma aba chamada Histórico e armazena (em caráter temporário) alí as informações das alterações efetuadas.

Essa facilidade do Excel é muito restrita e engessada (pelo menos no meu pequeno conhecimento). Ela dever ter lá suas funcionalidades. Todavia, não me vem, agora, utilidade prática para essa facilidade.

O fato é que: entendido o seu código, fiz (creio eu), do meu modo, o que você está pretendendo com ele: registrar toda e qualquer alteração que aconteça na sua planilha. Não é isso mesmo?

Veja, no arquivo anexo, se ele lhe atende.

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 17/04/2013 8:43 am
(@brunsftw)
Posts: 93
Trusted Member
Topic starter
 

Valeu pela atenção, Wagner!
Desculpa a minha ignorancia, mas como eu faço pra testar seu arquivo?
Eu simplesmente digitei um valor aleatório na plan 1 e eu fui direcionado pra plan 3 que fica vazia.

Obrigado!

 
Postado : 17/04/2013 10:12 am
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

brunsftw,

A sua intenção não é registrar as alterações que faz na Plan1? Pois bem! As alterações são registradas na aba chamada "Históric" que eu criei e ocultei. Para saber se deu certo, você pode clicar com o botão direito do mouse nas abas e mandar reexibir a aba Históric novamente. La você verá as alterções registradas.

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 17/04/2013 11:28 am
(@brunsftw)
Posts: 93
Trusted Member
Topic starter
 

Valeu, Wagner!
Me ajudou muito, cara!

 
Postado : 18/04/2013 6:29 am
(@brunsftw)
Posts: 93
Trusted Member
Topic starter
 

Bom Dia!!
Pra não ficar criando tópicos desnecessários, eu vou postar nesse já aberto à discussões, até pq é praticamente o mesmo assunto.
Estou colocando em anexo um modelo do arquivo em excel em que eu estou mexendo, graças a ajuda do pessoal aqui do fórum.
Mas eu ainda encontro alguns problemas que eu não estou conseguindo resolver sozinho...
Essa planilha faz o seguinte:
O usuário digita um valor qualquer na plan "MF" e aparece uma caixa de diálogo para que ele confirme o valor digitado. Caso ele queira alterar o valor, vai ser necessário que ele digite uma senha para fazer a alteração. A senha é "1234", por exemplo.
Quando ele digitar a senha, vai ser aberto um formulário para que ele explique brevemente o motivo da alteração. Esse motivo vai ser tranferido para a planilha "relatório de alterações".
Sempre que eu fizer uma alteração ou inserção de dados na planilha "MF", vai ser gravado em uma outra planilha chamada "registro" as alterações que foram feitas.
O que eu queria e não estou conseguindo é o seguinte: que essa planilha registro não apareça todas as vezes que eu fizer uma alteração. Por exemplo, quando eu estiver usando a planilha "MF", que permaneça na planilha "MF" e depois quando eu quiser, eu vou até a planilha "registro" e vejo as alterações que foram feitas.
Outra coisa é o fato de eu não conseguir puxar os registros da planilha "relatório de alterações". Eu tentei colocar o código na "Esta pasta de trabalho", mas não resolveu, só funciona na "MF".
Se vocês puderem me ajudar mais uma vez, eu agradeço.

 
Postado : 18/04/2013 8:39 am
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

brunsftw,

Bom Dia!

A primeira parte está resolvida no arquivo anexo.

A Segunda parte

Outra coisa é o fato de eu não conseguir puxar os registros da planilha "relatório de alterações".

eu não entendi...

Você quer puxar o que e de onde? Que dados você quer "puxar"? Não achei também esse código que você diz que colocou em "Esta Pasta de Trabalho". Aliás, não achei nem Esta Pasta de Trabalho... achei "Este livro"...

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 18/04/2013 9:31 am
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

brunsftw,

Bom Dia!

A primeira parte está resolvida no arquivo anexo.

A Segunda parte

Outra coisa é o fato de eu não conseguir puxar os registros da planilha "relatório de alterações".

eu não entendi...

Você quer puxar o que e de onde? Que dados você quer "puxar"? Não achei também esse código que você diz que colocou em "Esta Pasta de Trabalho". Aliás, não achei nem Esta Pasta de Trabalho... achei "Este livro"...

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 18/04/2013 9:32 am
Página 1 / 2