Usei a busca e não encontrei nenhum tópico relacionado, vou deixar uma dúvida aqui... Se alguém se dispuser em me ajudar, ficarei eternamente grato e devendo uma barra de chocolate 😛
Eu trabalho no setor público, em uma secretaria adjunta de finanças, onde lidamos com uma quantidade grande de processos de diversos tipos (pagamentos regulares, aquisições, aditivos de contrato, homologações, etc) e há uma área que "controla" os processos que ficam muito tempo parados aguardando alguma deliberação interna, chamada "Arquivo Temporário". Essa equipe não tem muita familiaridade com sistemas, tabelas excel e etc, sendo assim, minha chefe solicitou que eu conduzisse uma solução mais simples de modo a garantir a organização dos processos que estão de posse deste time.
Pois bem, eu criei um formulário, que consegue entrar com os dados, e ficou bastante funcional. Ele busca a ultima linha em branco e insere uma nova entrada com os dados do formulário, que por sua vez tem algumas "travas" (só permitir preenchimento de alguns campos a partir de uma lista suspensa, alguns IF/ELSE pra que não digitem letras aonde só entram números, etc.)
Private Sub Entra_in_Click()
If numproc_in.Text = "" Then
MsgBox "Inserir Número do Processo", vbExclamation, "AVISO"
numproc_in.SetFocus
Exit Sub
End If
If Anoproc_in.Text = "" Then
MsgBox "Inserir Ano do Processo", vbExclamation, "AVISO"
Anoproc_in.SetFocus
Exit Sub
End If
If Entr_in.Text = "" Then
MsgBox "Inserir data de entrada", vbExclamation, "AVISO"
Entr_in.SetFocus
Exit Sub
End If
If Tipo_in.Text = "" Then
MsgBox "Inserir tipo", vbExclamation, "AVISO"
Tipo_in.SetFocus
Exit Sub
End If
If area_in.Text = "" Then
MsgBox "Inserir area responsável", vbExclamation, "AVISO"
area_in.SetFocus
Exit Sub
End If
If Situ_in.Text = "" Then
MsgBox "Inserir situação", vbExclamation, "AVISO"
Situ_in.SetFocus
Exit Sub
End If
Dim db As Worksheet
Set db = Worksheets("db")
Dim lin As Long
lin = db.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
db.Cells(lin, 2).Value = Now
db.Cells(lin, 4).Value = Me.numproc_in.Text
db.Cells(lin, 5).Value = Me.Anoproc_in.Text
db.Cells(lin, 6).Value = Me.Entr_in.Text
db.Cells(lin, 10).Value = Me.area_in.Text
db.Cells(lin, 11).Value = Me.Tipo_in.Text
db.Cells(lin, 12).Value = Me.Situ_in.Text
db.Cells(lin, 13).Value = Me.Benef_in.Text
db.Cells(lin, 14).Value = Me.Numcont_in.Text
db.Cells(lin, 15).Value = Me.Anocont_in.Text
db.Cells(lin, 17).Value = Me.Numparcela_in.Text
db.Cells(lin, 18).Value = Me.Numadit_in.Text
db.Cells(lin, 19).Value = Me.Obje_in.Text
db.Cells(lin, 20).Value = Me.Prat_in.Text
db.Cells(lin, 21).Value = Me.Esta_in.Text
db.Cells(lin, 22).Value = Me.vig_de_mes.Text
db.Cells(lin, 23).Value = Me.vig_de_ano.Text
db.Cells(lin, 24).Value = Me.vig_a_mes.Text
db.Cells(lin, 25).Value = Me.vig_a_ano.Text
Me.numproc_in.Text = ""
Me.Anoproc_in.Text = ""
Me.Entr_in.Text = ""
Me.area_in.Text = ""
Me.Tipo_in.Text = ""
Me.Situ_in.Text = ""
Me.Benef_in.Text = ""
Me.Numcont_in.Text = ""
Me.Anocont_in.Text = ""
Me.Numparcela_in.Text = ""
Me.Numadit_in.Text = ""
Me.Obje_in.Text = ""
Me.Esta_in.Text = ""
Me.Prat_in = ""
Me.vig_de_mes.Text = ""
Me.vig_de_ano.Text = ""
Me.vig_a_mes.Text = ""
Me.vig_a_ano.Text = ""
O problema é o seguinte: esta área também precisa organizar os processos fisicamente em seu espaço, além de despachar para outras áreas os processos que serão "corrigidos" e poderão retornar ao Arquivo Temporário ou seguir seu fluxo natural (passar pelas oturas áras até pagamento) - óbvio que minha chefe quer ter controle sobre estes trâmites. E eu ainda não consegui fazer um formulário que passa "alterar" dados dentro desta planilha.
Por exemplo: eu entro com o processo número 111/2022, que se refere ao pagamento do Instituto ABCDEF, ele vai criar uma nova linha na planilha, com os dados deste processo. Mas se o time de Arquivo Temporário quiser mudar este processo de prateleira ou devolver para alguma área para que seja feita a correção, a única forma seria via um formulário "gambiarra" de saída de processos, que insere uma nova linha, com o numero do processo e uma data de saída. Ai depois disso, eu me viro com tabelas dinâmicas e formulas pra tentar entender aonde este processo esta.
Como podem prever, isto não funcionou no BETA teste hahahahahahah. A grande quantidade de linhas quando fizemos a carga de todos os processos (são cerca de 1600) deixou a planilha impraticável, além de que, é muito difícil criar um mecanismo que entenda de fato onde esta determinado processo, qual a sua situação, qual área é responsável por corrigir, ETC.
minha dúvida é: dado que eu já possuo um formulário "funcional", como posso adapta-lo para que seja possível realizar saídas (processos que são retirados por outras áreas) e movimentações de processos (por exemplo, mudar da prateleira A para a prateleira B dentro do Arquivo, mas sem sair de la)? O ideal é que o código procure pelo numero de processo, va até a linha correspondente e faça as alterações pertinentes, mas eu não sei como pedir ao VBA que faça isso.
Não sei como anexar a planilha aqui, mas vou deixar um link aberto do google, já só com dados "teste", nada que comprometa o lugar em que trabalho rs
Pergunta
felipeseda
Ola, pessoal, tudo certo?
Usei a busca e não encontrei nenhum tópico relacionado, vou deixar uma dúvida aqui... Se alguém se dispuser em me ajudar, ficarei eternamente grato e devendo uma barra de chocolate 😛
Eu trabalho no setor público, em uma secretaria adjunta de finanças, onde lidamos com uma quantidade grande de processos de diversos tipos (pagamentos regulares, aquisições, aditivos de contrato, homologações, etc) e há uma área que "controla" os processos que ficam muito tempo parados aguardando alguma deliberação interna, chamada "Arquivo Temporário". Essa equipe não tem muita familiaridade com sistemas, tabelas excel e etc, sendo assim, minha chefe solicitou que eu conduzisse uma solução mais simples de modo a garantir a organização dos processos que estão de posse deste time.
Pois bem, eu criei um formulário, que consegue entrar com os dados, e ficou bastante funcional. Ele busca a ultima linha em branco e insere uma nova entrada com os dados do formulário, que por sua vez tem algumas "travas" (só permitir preenchimento de alguns campos a partir de uma lista suspensa, alguns IF/ELSE pra que não digitem letras aonde só entram números, etc.)
https://imgur.com/dga34mV
(formulário de entrada)
CÓDIGO DO BOTÃO DE INSERIR NOVO PROCESSO:
O problema é o seguinte: esta área também precisa organizar os processos fisicamente em seu espaço, além de despachar para outras áreas os processos que serão "corrigidos" e poderão retornar ao Arquivo Temporário ou seguir seu fluxo natural (passar pelas oturas áras até pagamento) - óbvio que minha chefe quer ter controle sobre estes trâmites. E eu ainda não consegui fazer um formulário que passa "alterar" dados dentro desta planilha.
Por exemplo: eu entro com o processo número 111/2022, que se refere ao pagamento do Instituto ABCDEF, ele vai criar uma nova linha na planilha, com os dados deste processo. Mas se o time de Arquivo Temporário quiser mudar este processo de prateleira ou devolver para alguma área para que seja feita a correção, a única forma seria via um formulário "gambiarra" de saída de processos, que insere uma nova linha, com o numero do processo e uma data de saída. Ai depois disso, eu me viro com tabelas dinâmicas e formulas pra tentar entender aonde este processo esta.
Como podem prever, isto não funcionou no BETA teste hahahahahahah. A grande quantidade de linhas quando fizemos a carga de todos os processos (são cerca de 1600) deixou a planilha impraticável, além de que, é muito difícil criar um mecanismo que entenda de fato onde esta determinado processo, qual a sua situação, qual área é responsável por corrigir, ETC.
https://imgur.com/LbWTf1G
(formulário de saída)
minha dúvida é: dado que eu já possuo um formulário "funcional", como posso adapta-lo para que seja possível realizar saídas (processos que são retirados por outras áreas) e movimentações de processos (por exemplo, mudar da prateleira A para a prateleira B dentro do Arquivo, mas sem sair de la)? O ideal é que o código procure pelo numero de processo, va até a linha correspondente e faça as alterações pertinentes, mas eu não sei como pedir ao VBA que faça isso.
Não sei como anexar a planilha aqui, mas vou deixar um link aberto do google, já só com dados "teste", nada que comprometa o lugar em que trabalho rs
https://docs.google.com/spreadsheets/d/17Us02_eHylHU5K4BnY0lhEEax7gknrqo/edit?usp=sharing&ouid=108676102212525409580&rtpof=true&sd=true
Boa semana a todos!!!!
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.