Notifications
Clear all

Atualizar Form depois de Fechar outro Form

3 Posts
1 Usuários
0 Reactions
520 Visualizações
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Boa tarde,

Pesquisei no forum e no google, mas não consegui solucionar meu problema.

Eu tenho um form "principal" (frm1) que eu posso cadastrar clientes, produtos, valor e etc.
A partir da form frm1 eu consigo abrir um form para cadastro de novos clientes (frmClientes) e manter a form frm1 aberta, até ai está tudo certo. O que eu quero é que quando eu feche a form frmClientes (usando Unload Me), a Combobox2 referente aos clientes na form frm1 atualize automaticamente.

Obrigado!!!!!

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 14/01/2015 12:18 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Boa tarde!!

Veja:
http://www.google.com.br/cse?cx=partner ... gsc.page=1

Att

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 14/01/2015 1:10 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

alexandrevba, a questão não era abrir vários formulários...

Depois de pensar um pouco, decidi mudar a maneira de fazer o macro e deu certo. Ficou assim:

Coloquei esse código no Form frmClientes

Private Sub CommandButton1_Click()

If frm1.Visible = True Then
Atualizarcombo1
End If

Unload Me

End Sub

Toda vez que fechar o form frmClientes e se o frm1 estiver aberto, ele vai ativar o sub publico Atualizarcombo1. Isso acaba atualizando o Combobox que desejava.

Coloquei esse código no modulo1

Public Sub Atualizarcombo1()

frm1.PreencheCombo2

End Sub

E no frm1 tem o código para encadeamento de Combobox.

Sub PreencheCombo2()
Dim OCOLLECTION As New Collection
Dim VARVALUE As Variant
Dim I As Long
Dim l As Long
Dim wf As Worksheet
Set wf = ThisWorkbook.Sheets("FONTE")

l = 2

ComboBox2.Clear

On Error Resume Next
    For Each VARVALUE In wf.Range("A2:A" & wf.Range("B200").End(xlUp).Row)
        If ComboBox1.Value = wf.Range("B" & l).Value Then
            OCOLLECTION.Add VARVALUE, VARVALUE
        End If
        
        l = l + 1
    Next

For I = 1 To OCOLLECTION.Count
    ComboBox2.AddItem OCOLLECTION.Item(I)
Next I

End Sub

Obrigado!!!

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 15/01/2015 6:40 am