Ir ao conteúdo
  • Cadastre-se

Eliéser Barbosa

Membros Juniores
  • Total de itens

    8
  • Registro em

  • Última visita

  • Qualificações

    N/D
  1. Quero agradescer a ajuda. serviu ao meu proposito sim, mas percebi um problema. parece q ta tendo um glicth, em que quando carrega a listview o primeiro item da lista ja fica selecionado, preciso clicar na lista para ela atualizar e zerar completamente. existe um call somar itens no userform_initialize, sera que pode ser isso? tenho mais outras duas duvidas sobre codigo do projeto, gostaria de saber dos mods se abro um novo topico ou continuo com esse?
  2. adicionado 3 minutos depois Gostaria de saber se falta alguma informacao que deva ser relevante para alguem poder me ajudar? qualquer resposta ja ajuda, nao pretendo deixar o topico morrer sem uma resposta, mesmo que seja uma resposta dizendo que nao tem como ajudar. Teria colocado esta duvida em programacao para inicianes mas entendi que quem mechem com VBA supostamente não é iniciante em programacao.
  3. O programa já é funcional para pesquisar o nome dos pacientes e numero de prontuario. Eu agora to ampliando ele para tb ser usado na marcacao de exames de laboratorio, mas o convenio libera ate R$2500/mes gratuito, na soma do total de exames marcados no mes vigente. Acima deste valor, qualquer exame para qualquer paciente tem custo normal. (logo apenas poucos pcts conseguem gratuidade). Pra servir para as necessidades da empresa, preciso que no formulario de exames (form_lab) dê para selecionar os exames que serao agendados, faca-se a soma destes e no fim eu consiga salvar o nome do paciente e o custo total de exames na planilha "Relatorio" . Desta planilha retornar o valor do mes corrente numa label no formulario, sempre que este for carregado, avisando que o limite ja foi ou nao atingido (por exemplo a soma total do mes fica em vermelho quando for ≥2500 (este valor é atualizado anualmente)). E no fim ainda estou preocupado que tanta informcao em um unico arquivo possa apresentar problemas. Por isso pensei em criar uma rotina que salva os valores num novo arquivo automaticamente a cada dia 1º com o seguinte nome "Exames_MAI2020", "Exames_JUN2020", etc,"(Referente aos exames marcados do dia 01 ao 31), sendo que depois que salva ele limparia a aba "Relatorio" para o registro do mes seguinte. Se desse para salvar como expliquei acima a ideia era inclusive add nese relatorio o nome ou sigla dos exames que foram feitos. Costumo deixar as macros salvas em C:/Macros e selecionei esta pasta como local confiavel. Gostaria de salvar os arquivos em uma subpasta, para separa o Bckup do cadastro de pacientes(CopySeg_PACIENTES - m_aaaa) do bckup "Exames_MMMaaaa". OBS: Ainda estou aprendendo muita coisa, mas a necessidade o servico é grande. Comecei a fazer um pequeno curso de programacao pra comecar a entender isso tudo. mas so fazem 2 dias que comecei. Todos os meus codigos foram exemplos da internet que tentei adptar para a minha necessidade. Nao encontrei na inernet muito material relacionado ao que quero fazer, tem alguma coisa mas ficou muito consfuso pra mim porque nao conheco os fundamentos pra fazer mudanca nos codigos mais avancadas do que mudar nome de planilha e celulas. Por isso preciso de ajuda. Muito obrigado. Cad_Paciente_v2.1.rar
  4. Gostaria que me ajudassem como fazer o codigo para somar os itens selecionados de forma que a soma dos valores fosse para um listbox ou textbox, pois quero gravar o nome da pessoa e o valor da soma dos exames em outra planilha onde depois eu vou fazer um relatorio mensal de quanto foi gasto. pensei se desse pra fazer a selecao dos itens conforme a imagem abaixo . mas nao consigo sair daqui. meu codigo ta uma bagunca que nem eu me acho mais o que realmente ta funcionando ou nao. o codigo vai abaixo: Option Explicit Private Sub UserForm_Initialize() Call Tags 'Call CarItens 'Call SomarItens 'Call CarItSoma End Sub Private Sub Tags() With ListView1 .Gridlines = True .View = lvwReport .FullRowSelect = True .MultiSelect = True .ColumnHeaders.Add Text:="SIGLA", Width:=85, Alignment:=0 .ColumnHeaders.Add Text:="NOME", Width:=350, Alignment:=0 .ColumnHeaders.Add Text:="VALOR", Width:=70, Alignment:=2 End With End Sub Private Sub CarItSoma() Dim lin As Integer Dim li As Variant ListView1.ListItems.Clear Sheets("EXAMES").Select lin = 5 Do Until Sheets("EXAMES").Cells(lin, 2) = "" Set li = ListView1.ListItems.Add(Text:=Sheets("EXAMES").Cells(lin, 2).Value) li.ListSubItems.Add Text:=Sheets("EXAMES").Cells(lin, 3).Value li.ListSubItems.Add Text:=Sheets("EXAMES").Cells(lin, 4).Value lin = lin + 1 Loop Dim Soma As Double For i = 1 To ListView1.ListItems.Count Soma = Soma + ListView1.ListItems.Item(i).SubItems(2) Next i TextSoma = Soma End Sub Private Sub CarItens() Dim linha, linhalist As Integer Dim Ultimalinha, Lista As Variant linhalist = 0 linha = 5 ListView1.ListItems.Clear Plan3.Select With Plan3 While Cells(linha, 2).Value <> "" Ultimalinha = .Cells(Rows.Count, "b").End(xlUp).Row With ListView1 Set Lista = ListView1.ListItems.Add(Text:=Cells(linha, "b").Value) Lista.ListSubItems.Add Text:=Cells(linha, "c").Value Lista.ListSubItems.Add Text:=Cells(linha, "d").Value End With linhalist = linhalist + 1 linha = linha + 1 Wend End With End Sub Sub SomarItens() 'Soma itens selecionados no formulario Dim Linhas As Integer Dim Soma As Double With Form_lab Linhas = .ListView1.ListItems.Count For i = 5 To Linhas If .ListView1.ListItems(i).Selected = True Then Soma = Soma + .ListView1.ListItems(i).ListSubItems(2) 'Valor End If Next .lblSoma.Caption = Format(Soma, "Currency") 'TextSoma.Value = ListView1.ListItems(lin).SubItems(2) End With End Sub Private Sub BtnLabPesqPact_Click() 'Abre o formulario de pesquisa dde pacientes. Unload Form_lab form_pesq.Show End Sub
  5. rotina serviu, mas precisava era salva a sheet PACIENTES a cada 30 Min sem perguntar se quer subistuir, salvando sobreescrevendo mesmo. Teria como adptar a rotina acima para salvar todo o arquivo todo no dia 1 de cada mes? Desde ja agradesco Basole.
  6. Pode fechar o topico. Ja descobri o problema. O erra tava na forma como ele identificava as planilhas, alterei a opcao no codigo e deu certo. Usei o nome da planilha que tem na aba. nao usei o indice e nem o nome que o excel da a ela.
  7. Na minha pasta de trabalho eu possuo uma rotina de salvamento ativada por botão. Segue abaixo o codigo. Sub copyseg() Dim WP As Workbook 'Pasta de trabalho atual Dim WS As New Workbook 'Nova pasta de trabalho Dim WPSheet As Worksheet 'Planilha atual Dim rngWP As Range 'Regiao com dados da planilha atual Set WP = ActiveWorkbook 'Variável WP = Pasta de trabalho atual Set WPSheet = WP.Sheets("PACIENTES") 'Variavel Worksheet atrelada a workbook atual) Sheets("PACIENTES").Visible = xlSheetVisible 'A planilha PACIENTES está inativa, este código torna ela ativa novamente. WPSheet.Select WPSheet.UsedRange.Copy 'Copia todas as células utilizadas Set WS = Workbooks.Add 'Adiciona uma nova workbook WS.Sheets(1).Select 'Seleciona a planilha a ser copiada ActiveCell.PasteSpecial Paste:=xlValues 'Cola os dados copiados na planilha nova. WS.Sheets(1).Name = WPSheet.Name 'Mantem o mesmo nome da planilha original Application.DisplayAlerts = False 'Desabilita todos os alertas do excel, não mostrará as caixas de dialogo. WS.SaveAs WP.Path & "\CopySeg_PACIENTES - " & Year(Date) & "_" & Month(Date) 'Determina o nome do arquivo como CopySeg_PACIENTES-Ano_mês WS.Close savechanges:=True Application.DisplayAlerts = True 'Reabilita todos os alertas do excel WP.Activate WP.Sheets(1).Select 'Seleciona a planilha PACIENTES no novo arquivo WPSheet.Range("A1").Select 'Seleciona a celula "A1" da Planilha PACIENTES no novo arquivo Sheets(1).Visible = xlSheetVeryHidden 'Retona a planilha PACIENTES (arquivo original) na condição de inativa outra vez MsgBox "Geração do arquivo concluída.", vbOKOnly 'Cria a caixa de dialogo informando o fim da execucao do código End Sub Gostaria de saber se tem como eu usar essa rotina com um codigo de autosave. Gostaria que este codigo fosse executado automaticamente a cada 30 min. Se não for possivel criar a rotina acima gostaria de uma rotina que salvasse a cada 30 min uma copia da minha planilha, que está invisivel, em um novo arquivo com nome e data pre-estipulado por mimjá no codigo, em local a ser escolhido. Estou usando a rotina acima porque ela satisfaz quase todos os requisito para uso, só nao consigo escolher o local em que o bckup sera salvo. Ex: Arquivo original = C:\Macros\Cad_Paciente.xlsm Cópia do arquivo = C:\Documentos\CadastroBackup Alguem tem alguma sugestao?
  8. Sou tecnico de enfermagem e me aventurei na programacao vba porque estava cansado da desorganizacao no meu servico e resolvi criar uma ferramenta para facilitar o trabalho. Agora o ps foi trocado e comecou a apresentar problemas. Não sou experiente em VBA, sou do tipo que apenas segue tutos. Estou tentando achar o erro mas não encontro. parece que tem mais de um problema. Tamberm vou postar algumas imagens. Ha tb ja tentei retirar a bibliotecas ausentes e nao funcionou. Estou postando meu projeto VBA. O objetivo dele é fazer uma lista de nomes com numeros de prontuarios para pacientes, junto com outras informações relevantes. O PC anterior tinha WIN 7 e Office 2007 32bit. Atualmente conta com WIn10 64bit e Office nao sei qual é. mas nos testes em uma VM estou usando 2007 32bits e os problemas continuam. Gostaria da ajuda se possivel. Desde ja Agradeço. Cad_Paciente_Provisorio.rar

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Aprenda_a_Ler_Resistores_e_Capacitores-capa-3d-newsletter.jpg

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!