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

Salvar dados, com condição especifica em procurar nome na linha.

Fórum para dúvidas sobre os fundamentos da linguagem de programação Visual Basic no contexto do VBA
anielise
Colaborador
Colaborador
Mensagens: 23
Registrado em: Qua Jun 26, 2019 5:56 pm

Salvar dados, com condição especifica em procurar nome na linha.

Mensagem por anielise »

Boa Noite

pesquisei códigos para um determinada ação, e não encontrei.


possuo uma planilha onde tem o cabeçário com varias colunas.
quero que numa sub salvar_atualizar_exames
execute seguinte função

pesquise em uma linha de mais de 10 coluna o valor correspodente ao combobox;
e que salve nessa coluna o valor "1" porém na ultima linha em branco.

está em anexo a pasta de trabalho, corresponde ao form n° 2 imagem salvar

o código que fiz é bem extenso mas complicado de modo que toda vez que eu inserir novo item no combobox eu terei que acrescentar novas linhas de codigo.
Anexos
saudetrab.zip
(2.22 MiB) Baixado 181 vezes


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.


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: Salvar dados, com condição especifica em procurar nome na linha.

Mensagem por Reinaldo »

Sinceridade não entendi a demanda.
Em se projeto há uma grande duplicidade de declaração da Variável Linha
A mesma está como public em pelo menos 4 módulos (Exames,Financeiro,listbox e paciente) e em alguns/vários procedimentos de formulários (inclusive alguns como Byte e outros como Integer), e recomendado corrigir para evitar eventuais problemas
Uma variável declarada como Public a nível de modulo deve se efetuada uma unica vez e fica disponível a todos os demais módulos/procedimentos, não devendo portando se declarada novamente.
Habitue-se a utilizar apenas um Modulo para a declaração de variáveis Public/Global...
Há vários vestígios de rotinas desnecessárias que geram erro ao ser depurado o código; complicando um correto acompanhamento da execução do mesmo.

Não consegui localizar a sub mencionada (salvar_atualizar_exames)
tambem não entendi "...que fiz é bem extenso mas complicado de modo..."


anielise
Colaborador
Colaborador
Mensagens: 23
Registrado em: Qua Jun 26, 2019 5:56 pm

Re: Salvar dados, com condição especifica em procurar nome na linha.

Mensagem por anielise »

Reinaldo escreveu: Qua Ago 07, 2019 9:38 pm Sinceridade não entendi a demanda.
Em se projeto há uma grande duplicidade de declaração da Variável Linha
A mesma está como public em pelo menos 4 módulos (Exames,Financeiro,listbox e paciente) e em alguns/vários procedimentos de formulários (inclusive alguns como Byte e outros como Integer), e recomendado corrigir para evitar eventuais problemas
Uma variável declarada como Public a nível de modulo deve se efetuada uma unica vez e fica disponível a todos os demais módulos/procedimentos, não devendo portando se declarada novamente.
Habitue-se a utilizar apenas um Modulo para a declaração de variáveis Public/Global...
Há vários vestígios de rotinas desnecessárias que geram erro ao ser depurado o código; complicando um correto acompanhamento da execução do mesmo.

Não consegui localizar a sub mencionada (salvar_atualizar_exames)
tambem não entendi "...que fiz é bem extenso mas complicado de modo..."

boa noite eu fiz uma novo codigo depois de 2 horas tentando.

mas alem de ficar extenso.
to tentando gravar na coluna referente a consulta clinica mas nem aparece. soh aparece se a referencia aparecer na combobox abox24

a sub com erro se chama test no modulo M_exames
Anexos
saudetrab.zip
(2.23 MiB) Baixado 188 vezes


anielise
Colaborador
Colaborador
Mensagens: 23
Registrado em: Qua Jun 26, 2019 5:56 pm

Re: Salvar dados, com condição especifica em procurar nome na linha.

Mensagem por anielise »

eu consegui.. fiz a seguinte sequencia de código..
deu certo mas ainda assim achei mto extenso..

'F_2.Abox7.Value
COLUNA = 17
Worksheets("c_exame").Select
i = Sheets("c_exame").Cells(1, 1).End(xlDown).Row
Do Until Sheets("c_exame").Cells(7, COLUNA) = ""
If Sheets("c_exame").Cells(7, COLUNA) = F_2.Abox7.Value Then
Sheets("c_exame").Cells(i, COLUNA) = "1"
For COLUNA = 17 To 40
Next COLUNA
End If
COLUNA = COLUNA + 1
Loop

'F_2.Abox8.Value
COLUNA = 17
Worksheets("c_exame").Select
i = Sheets("c_exame").Cells(1, 1).End(xlDown).Row
Do Until Sheets("c_exame").Cells(7, COLUNA) = ""
If Sheets("c_exame").Cells(7, COLUNA) = F_2.Abox8.Value Then
Sheets("c_exame").Cells(i, COLUNA) = "1"
For COLUNA = 17 To 40
Next COLUNA
End If
COLUNA = COLUNA + 1
Loop
'F_2.Abox9.Valuue
COLUNA = 17
Worksheets("c_exame").Select
i = Sheets("c_exame").Cells(1, 1).End(xlDown).Row
Do Until Sheets("c_exame").Cells(7, COLUNA) = ""
If Sheets("c_exame").Cells(7, COLUNA).Value = F_2.Abox9.Value Then
Sheets("c_exame").Cells(i, COLUNA) = "1"
For COLUNA = 17 To 40
Next COLUNA
End If
COLUNA = COLUNA + 1
Loop


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