Ir para conteúdo
Fórum Script Brasil

felipeseda

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Sobre felipeseda

felipeseda's Achievements

0

Reputação

  1. 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: 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. 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!!!!
×
×
  • Criar Novo...