Notifications
Clear all

Atualizar dados sem precisar fechar userform

6 Posts
2 Usuários
0 Reactions
3,724 Visualizações
(@araujors)
Posts: 79
Estimable Member
Topic starter
 

Boa tarde pessoal estou com um projeto de controle de malotes que estou montando, sou novo ainda em vba, mas montei uma listivew1 e e esta sendo preenchida normalmente, o que eu gostaria de saber é como faço para aparecer numa label o numero de linhas que já foram preenchidas pela listview1, na verdade aparecer ele aparece mas quando insiro um novo projeto no programa o label não atualiza ele só atualiza quando o userform é fechado e aberto di novo, segue em anexo o print da tela, Obrigado.

 
Postado : 24/12/2012 5:17 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa noite!!

Eu lhe sugiro usar a pesquisa do fórum e a postar seu arquivo modelo compactado!!

Att

 
Postado : 24/12/2012 5:30 pm
(@araujors)
Posts: 79
Estimable Member
Topic starter
 

eu preciso de um código vba que insira, que me diga quantas linhas foram preenchidas do listview.

 
Postado : 24/12/2012 9:54 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Araujo, vc disse que ao "abrir" o formulario, o label vem atualizado;
pergunta:
esse valor é calculado na abertura do formulario ou é "display" de um campo na planilha?

 
Postado : 25/12/2012 6:50 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Araujo, se ao iniciar o form o Label é preenchido e após um novo lançamento só é atualizado apos fechar e reabrir o formulário, na rotina que está no Botão "Inserir", adicione apos a linha que faça o lançamento ou no final de todas as linhas as instruções :

Unload Me

Userform.Show

Assim apos clicar em Inserir será efetuado o lançamento fechado o Form e reaberto atualizando o label.

Se não conseguir, poste a rotina que está utilizando ou o modelo reduzido compactado.

[]s

 
Postado : 25/12/2012 7:09 am
(@araujors)
Posts: 79
Estimable Member
Topic starter
 

Valeu pessoal encontrei a saída, Mauro Coutinho tinha razão meu erro estava no botão inserir eu tinha colocado o código no inicio do listview e não no inserir, funcionou agora ele atualiza no momento em q eu lanço todos os dados, mas ele só funcionou realmente quando deixei o mesmo código no listview1 e no botão inserir tbm, segue abaixo o código.

Private Sub CommandButton1_Click()
[color=#00BF00]'Código para preencher a planilha do excel[/color]
Dim Ultimalinha As Object
Set Ultimalinha = Plan2.Range("A500").End(xlUp)
Ultimalinha.Offset(1, 0).Value = TextBox7.Text
Ultimalinha.Offset(1, 1).Value = TextBox8.Text
Ultimalinha.Offset(1, 2).Value = TextBox2.Text
Ultimalinha.Offset(1, 3).Value = TextBox3.Text
Ultimalinha.Offset(1, 4).Value = TextBox5.Text
Ultimalinha.Offset(1, 5).Value = Data.Text
Ultimalinha.Offset(1, 6).Value = TextBox6.Text

MsgBox "Registro Inserido com Sucesso", 6, "Inserir"
resposta = MsgBox("Deseja inserir outro registro", 36, "Inserir")
If resposta = vbYes Then
TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""
TextBox5.Text = ""
TextBox6.Text = ""

TextBox1.SetFocus [color=#00BF00]' Inicializa no campo de deve ser digitado[/color]
[color=#00BF00]'limpar[/color]
    ListView1.ListItems.Clear
    LastRow = Plan2.Cells(Rows.count, "a").End(xlUp).Row
    [color=#00BF00]' Adiciona itens[/color]
    For X = 2 To LastRow
        Set li = ListView1.ListItems.Add(Text:=Plan2.Cells(X, "a").Value)
        li.ListSubItems.Add Text:=Plan2.Cells(X, "b").Value
        li.ListSubItems.Add Text:=Plan2.Cells(X, "c").Value
        li.ListSubItems.Add Text:=Plan2.Cells(X, "d").Value
        li.ListSubItems.Add Text:=Plan2.Cells(X, "e").Value
        li.ListSubItems.Add Text:=Plan2.Cells(X, "f").Value
        li.ListSubItems.Add Text:=Plan2.Cells(X, "g").Value
        
    Next
    [color=#FF0000]Label13.Caption = ListView1.ListItems.count[/color] [color=#00BF00]'Conta número de linhas preenchidas[/color]
Else
Unload Me
End If
End Sub
 
Postado : 25/12/2012 9:54 am