Logo Hardware.com.br
Alan Arnese
Alan Arnese Novo Membro Registrado
5 Mensagens 5 Curtidas

Sistema basico de cadastro e listar emails separados por ;

#1 Por Alan Arnese 26/09/2016 - 10:42
Bom dia

Estou desenvolvendo um sisteminha simples no excel mas chegou em uma etapa que está me dando dor de cabeça



Imagem




Eu carreguei 4 municípios em uma combo box , e agora baseado no município escolhido ele vai listar todos os emails do mesmo abaixo separados por ; em texto

Vejam que atrás está o banco de dados e vou listar todos os emails da coluna B que foram cadastrados tendo somente esse filtro de listar somente os emails do município escolhido, o sistema de cadastro está 100% e só falta isso

O resultado ficaria por exemplo

[email]email1@email.com[/email];[email]email2@email.com[/email];[email]email3@email.com[/email];[email]email4@email.com[/email]; (e assim por diante)



1)como pegar o campo de texto dos 4 municipios da planilha e fazer as verificações if/else para listar corretamente

2)qual o comando para listar os dados

3)como colocar ; após cada resultado apresentado




Alguém poderia me dar uma luz de como fazer isso?

Agradeço desde já
Basole
Basole Geek Registrado
945 Mensagens 596 Curtidas
#2 Por Basole
26/09/2016 - 12:00
Fica dificil saber, somente pelas imagens, em qual componente que voce quer mostrar o resultado, para te enviar uma rotina ?????
Seria um Listbox, Listview, TextBox ?
Se for um Listbox ou um ListView, por exempo, este resultado seria somente em uma coluna?
Acrescente mais detalhes para que o pessoal possa entender melhor e te ajudar. E se possivel enviar um exemplo.
Click em Curtir se a resposta foi útil. boa.gif Dê retorno por favor. Se resolveu, atencao_regras.gif Altere o Titulo como [ Resolvido ] comemorando.gif
Alan Arnese
Alan Arnese Novo Membro Registrado
5 Mensagens 5 Curtidas
#3 Por Alan Arnese
26/09/2016 - 12:15
Vou tentar explicar mais detalhadamente

É um Listbox com 4 municípios


MUNICIPIO.AddItem "Diadema"
MUNICIPIO.AddItem "Mauá"
MUNICIPIO.AddItem "São Bernardo do Campo"
MUNICIPIO.AddItem "Ribeirão Pires"

no meu excel esses municípios estão na coluna G, e estão sendo cadastrados pelo formulário do topo , e na coluna B estão os emails cadastrados


Eu preciso primeiro selecionar o município, ele verificar todos os emails ligados a esse município, e listar na tela separados por ; pois serão copiados para disparar emails manualmente

PS:Eles irão ser listados em um text área como mostra a imagem

Obrigado desde já pela ajuda Basole

Aqui o banco de dados com os dados cadastrados


Imagem

O triste é que tenho que fazer no excel, no php+msql eu resolveria mais tranquilamente, mas não manjo nada de visual basic, e olhando na internet não consegui achar um material didatico para iniciante, por exemplo consultar dados de uma coluna e exibir
Basole
Basole Geek Registrado
945 Mensagens 596 Curtidas
#4 Por Basole
26/09/2016 - 13:29
Quando eu falo em enviar um exemplo, estou me referindo a um arquivo e não imagens.
Pergunto: voce que entende de php+msql, como citou, como referenciar um objeto, por exemplo um combobox, sem saber o seu nome ?
No exemplo, na imagem que postou, cada municipio contem 1 email, como quer colocar como resultado filtrado, 4 emails ?
Click em Curtir se a resposta foi útil. boa.gif Dê retorno por favor. Se resolveu, atencao_regras.gif Altere o Titulo como [ Resolvido ] comemorando.gif
Alan Arnese
Alan Arnese Novo Membro Registrado
5 Mensagens 5 Curtidas
#5 Por Alan Arnese
26/09/2016 - 13:56
Como eu faço para relacionar a celula que contem Município( São Bernardo do Campo) com a celula do Email([EMAIL]adolfo@homma.com.br[/EMAIL]) ?

Clicou em São Bernardo do Campo aparece só o [EMAIL]adolfo@homma.com.br[/EMAIL] e outros que foram também cadastrados como município de São Bernardo do Campo e assim vale para os outros municípios com seus respectivos emails

Essa verificação de como fazer município x ser associado a só os emails do município que está me dando um nó na cabeça

E peço desculpas por não conseguir ser tão claro, pois não domino essa linguagem de programação

Estou tentando assim mas até agora ele não teve nenhum filtro, municipio>email vinculado ao municipio, e é isso que não sei por onde começar

Private Sub LOCALIZAR_EMAILS_MUNICIPIO_Click()

exiberegistros = Worksheets("BANCODEDADOS&quot.UsedRange.Rows.Count
Worksheets("BANCODEDADOS&quot.Select

For i = 0 To exiberegistros

If LOCALIZAR_EMAILS_MUNICIPIO.ListIndex = i Then

'preencher a caixa onde os emails vão aparecer

EXIBE_EMAILS = Cells(i + 2, 2) & ";"

Exit Sub

End If
Next

End Sub
Basole
Basole Geek Registrado
945 Mensagens 596 Curtidas
#6 Por Basole
26/09/2016 - 17:53
Com falei fica dificil a sua explicacao e com utilizaçao de imagens do seu arquivo.
Veja se é isso que precisa:

[code=vb]
Private Sub LOCALIZAR_EMAILS_MUNICIPIO_Click()
Dim c As Range, sListEmail As String, strProc As String, firstAddress As String

strProc = VBA.Trim(LOCALIZAR_EMAILS_MUNICIPIO.Text) ' dados do combobox

EXIBE_EMAILS.Clear ' limpa o Listbox

With ThisWorkbook.Worksheets("BancodeDados")

Set c = .Columns("G").Find(strProc, LookIn:=xlValues, LookAt:=xlWhole) ' procura a cidade, na coluna G
If Not c Is Nothing Then
firstAddress = c.Address
Do
If c.Address = firstAddress Then

sListEmail = ActiveSheet.Range("b" & c.Row).Value ' acresc email encontrado a variavel(s/ wink.png
Else
sListEmail = sListEmail & ";" & ActiveSheet.Range("b" & c.Row).Value ' acresc email encontrado a variavel (c/ wink.png
End If

Set c = .Columns("G").FindNext(c)

Loop While Not c Is Nothing And c.Address <> firstAddress

End If
End With

With EXIBE_EMAILS ' insere a variavel ao listbox
.AddItem
.List(.ListCount - 1, 0) = sListEmail
End With

End Sub [/code]
Click em Curtir se a resposta foi útil. boa.gif Dê retorno por favor. Se resolveu, atencao_regras.gif Altere o Titulo como [ Resolvido ] comemorando.gif
Alan Arnese
Alan Arnese Novo Membro Registrado
5 Mensagens 5 Curtidas
#7 Por Alan Arnese
26/09/2016 - 19:01
Te agradeço muito cara por me ajudar mesmo em meio as minhas dificuldade pra explicar

Executei seu código e no debug deu 2 problemas

Nesta linha

  EXIBE_EMAILS.Clear ' limpa o Listbox


E quando eu prossigo nesta linha

With EXIBE_EMAILS
.AddItem
.List(.ListCount - 1, 0) = sListEmail
End With



referente ao Userform


Private Sub UserForm_Initialize()





'listando municipios para cadastro

MUNICIPIO.AddItem "Diadema"
MUNICIPIO.AddItem "Mauá"
MUNICIPIO.AddItem "São Bernardo do Campo"
MUNICIPIO.AddItem "Ribeirão Pires"

'Listando dados dos usarios cadastrados
totaldelinhas = Worksheets("BANCODEDADOS&quot.UsedRange.Rows.Count
LISTAR_CADASTROS_EXCLUSAO.RowSource = "BANCODEDADOS!a2:a" & totaldelinhas


'listando municipios para listagem dos emails



LOCALIZAR_EMAILS_MUNICIPIO.AddItem "Diadema"
LOCALIZAR_EMAILS_MUNICIPIO.AddItem "Mauá"
LOCALIZAR_EMAILS_MUNICIPIO.AddItem "São Bernardo do Campo"
LOCALIZAR_EMAILS_MUNICIPIO.AddItem "Ribeirão Pires"







End Sub



Referente ao combo box



Private Sub LOCALIZAR_EMAILS_MUNICIPIO_Click()
Dim c As Range, sListEmail As String, strProc As String, firstAddress As String

strProc = VBA.Trim(LOCALIZAR_EMAILS_MUNICIPIO.Text) ' dados do combobox

EXIBE_EMAILS.Clear ' limpa o Listbox

With ThisWorkbook.Worksheets("BancodeDados&quot

Set c = .Columns("G&quot.Find(strProc, LookIn:=xlValues, LookAt:=xlWhole) ' procura a cidade, na coluna G
If Not c Is Nothing Then
firstAddress = c.Address
Do
If c.Address = firstAddress Then

sListEmail = ActiveSheet.Range("b" & c.Row).Value ' acresc email encontrado a variavel(s/
Else
sListEmail = sListEmail & ";" & ActiveSheet.Range("b" & c.Row).Value ' acresc email encontrado a variavel (c/
End If

Set c = .Columns("G&quot.FindNext(c)

Loop While Not c Is Nothing And c.Address <> firstAddress

End If
End With

With EXIBE_EMAILS
.AddItem
.List(.ListCount - 1, 0) = sListEmail
End With

End Sub


Verifiquei agora a função sListEmail e ela não está pegando também os emails referentes ao município
Basole
Basole Geek Registrado
945 Mensagens 596 Curtidas
#8 Por Basole
26/09/2016 - 20:34
Como eu disse anteriormente fica dificil ADIVINHAR os nomes dos seus componentes (listbox, combobox, textbox, etc)
então eu usei os nomes que voce inseriu no seu exemplo no post #5.

Substitua EXIBE_EMAILS, pelo nome do seu listbox e LOCALIZAR_EMAILS_MUNICIPIO pelo nome do sue combobox.

Se NAO dar certo, voce nao precisa necessariamente compartilhar o seu precioso arquivo...
Faça um pequeno exemplo com um userform e um combobox e um listbox e alguns dados na aba que deseja inseri os dados e pesquisar os emails.

Caso contrario eu me recuso a tentar te ajudar.

"Se quer ajuda, voce precisa ajudar as pessoas ate ajudar! "
Click em Curtir se a resposta foi útil. boa.gif Dê retorno por favor. Se resolveu, atencao_regras.gif Altere o Titulo como [ Resolvido ] comemorando.gif
Alan Arnese
Alan Arnese Novo Membro Registrado
5 Mensagens 5 Curtidas
#9 Por Alan Arnese
27/09/2016 - 09:10
Bom dia Basole

aqui deixo o link para a planilha, acho que deveria ter enviado antes ela, peço perdão


www.coopcentabc.org.br/duvida_clube_hardware/SISTEMA_24.zip

Mais uma vez peço perdão

Resolvido , Basole realmente foi muito atencioso

quem quiser a planilha para estudo das funções ou está tendo as mesmas dificuldades , deixo aqui a planilha finalizada

https://app.box.com/s/fz0l25pd61kannnecdg70a6g6unhqt7h
© 1999-2024 Hardware.com.br. Todos os direitos reservados.
Imagem do Modal