Vídeo recomendado
https://youtu.be/diWPPPhW-9E

VBA - Criar Campo Histórico

Fórum para dúvidas sobre os fundamentos da linguagem de programação Visual Basic no contexto do VBA
Amezzalira79
Acabou de chegar
Acabou de chegar
Mensagens: 3
Registrado em: Qua Ago 21, 2019 3:09 pm

VBA - Criar Campo Histórico

Mensagem por Amezzalira79 »

Boa tarde! Preciso da ajuda de vocês!

Procurei na internet mas não achei nada :(

Tenho uma planilha com um formulário de cadastro em que preciso ter um campo de histórico das ações tomadas com o contrato, então cada ação feita com o contrato, tem que ser registrada na mesma célula acumulativamente, inclusive data e hora.

Alguém sabe me dizer se é possivel? Se sim, como?
Se não, alguma sugestão?

Obrigado!


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Tov Elen Shau
Manda bem
Manda bem
Mensagens: 173
Registrado em: Qua Mai 17, 2017 2:27 pm

Re: VBA - Criar Campo Histórico

Mensagem por Tov Elen Shau »

Colega, não sei se é bem isso que você quer, também não sei a quem dar créditos pela rotina, mas não fui eu quem a criou.

Crie uma planilha com o nome “Historico”, e cole a rotina em EstaPasta_de_Trabalho no VBA.
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)

Application.ScreenUpdating = False

'REGISTRA AS ALTERAÇÕES DA PLANILHA
Dim VarUsuario
Dim ObjNetwork
Set ObjNetwork = CreateObject("WScript.Network")
VarUsuario = ObjNetwork.UserName
UsuarioRede = VarUsuario
Dim wsHist As Worksheet, Rng As Range
Set wsHist = Sheets("Historico")
If Sh Is wsHist Then Exit Sub
Set Rng = wsHist.Range("A" & Rows.Count).End(xlUp).Offset(1)
With Rng
.Value = Now
.Offset(, 1) = Sh.Name
.Offset(, 2) = Target.Address
.Offset(0, 4) = UsuarioRede
If Target.Cells.Count > 1 Then
.Offset(, 3) = "Valores Alterados"
Else
.Offset(, 3) = Target.Formula
End If
End With

Application.ScreenUpdating = True
End Sub

Atenciosamente

Tov Elen Shau


Amezzalira79
Acabou de chegar
Acabou de chegar
Mensagens: 3
Registrado em: Qua Ago 21, 2019 3:09 pm

Re: VBA - Criar Campo Histórico

Mensagem por Amezzalira79 »

Olá Tov!

obrigado pela ajuda, mas pelo que li no código isso vai gerar um relatório de acesso a planilha.
Porém o que eu preciso é ter um registro com intervenção do usuário, informando os movimentos do contrato, por exemplo, contato com o responsável, email encaminhado, renovação do contrato, dentre outras, e que isso fique registrado na mesma célula, sendo que cada ação incremente e não exclua os dados anteriores.


Avatar do usuário
Reinaldo
Jedi
Jedi
Mensagens: 1537
Registrado em: Sex Ago 01, 2014 4:09 pm
Localização: Garça - SP / SCS - SP

Re: VBA - Criar Campo Histórico

Mensagem por Reinaldo »

Pelo que entendi, você deseja um local para anotações diversas, feitas pelo usuário, não exatamente um histórico.
Possível; em teoria; ter em uma unica célula é, contudo vale lembrar que uma célula tem suas limitações;
https://support.office.com/pt-br/articl ... ffice_2010
não é um campo "memo" ;
limite de +/-32760 caracteres, largura x altura (máxima para visualização) 255 caractere x 409 pontos
Particularmente, por ser muito mais complicado gravar/ler as infomações, não julgo algo pratico.


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Amezzalira79
Acabou de chegar
Acabou de chegar
Mensagens: 3
Registrado em: Qua Ago 21, 2019 3:09 pm

Re: VBA - Criar Campo Histórico

Mensagem por Amezzalira79 »

Reinaldo, realmente cada vez que penso nisso, vejo o quão complicado será, até porque não vejo literatura sobre isso.
Penso, mas ainda não sei como rrsrs, ter uma plan que eu possa ter essas anotações amarradas por algum índice, do tipo número do contrato, e assim pesquisar todas as anotações feitas e trazer num único campo do user form classificado por ordem do + novo para + o antigo.
Se tiver alguma sugestão eu agradeço


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Responder