Valores Plan1 no Li...
 
Notifications
Clear all

Valores Plan1 no Listview1

7 Posts
2 Usuários
0 Reactions
1,884 Visualizações
(@fabioprade)
Posts: 273
Reputable Member
Topic starter
 

Boa noite amigos,
estou aqui estudando mas nao consegui fazer funcionar uma rotina basica que peguei aqui no forum mesmo.

O que esta errado nesta rotina???

Ou o que eu estou fazendo de errado?

 
Postado : 12/03/2012 6:29 pm
(@fabioprade)
Posts: 273
Reputable Member
Topic starter
 

Ja entendi sozinho galera,

Private Sub Userform_Inicialize()

Obrigado.

 
Postado : 12/03/2012 6:44 pm
(@fabioprade)
Posts: 273
Reputable Member
Topic starter
 

Entao amigos,

Na verdade tentei montar o codigo de uma aba de um multipaginas desde o inicio, onde coloquei somente uma listview e um commandbutton, quando ao clicar neste ultimo o listview se preencheria com os valores da planilha(Contratos), mas no meu projeto nao funcionou, da erro em .cell .

Ewste codigo pode funcionar em um multipaginas???

Private Sub CommandButton12_Click()

Dim lastRow As Long
Dim li As ListItem
Dim X As Long
Dim k As Integer
Dim Contratos As Sheets
k = 2
' Adiciona as colunas
With ListView4
.ColumnHeaders.Clear
.Gridlines = True
.View = lvwReport

End With
'...................................................................
'limpar
ListView4.Listitems.Clear

lastRow = Contratos.Cells(Contratos.Cells.Rows.Count, "a").End(xlUp).Row

' Adiciona itens
For X = 2 To lastRow
Set li = ListView4.Listitems.Add(Text:=Contratos.Cells(X, "a").Value)
li.ListSubItems.Add Text:=Contratos.Cells(X, "b").Value
k = k + 1
Next
End Sub

 
Postado : 12/03/2012 7:10 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Supondo que você tem uma Aba de nome "Contrato", devemos referencia-la da seguinte forma :

Troque esta referencia => Dim Contratos As Sheets

Por esta :
Dim Contratos As Worksheet
E acrescente abaixo da linha acima :
Set Contratos = Worksheets("Contrato")

Editando para acrescentar algumas referencias que valem a pena ler :
Lição 05: Trabalhando com o Objeto Workbook
http://www.juliobattisti.com.br/excel12 ... licao5.htm

Lição 06: Trabalhando com o Objeto Worksheet.
http://www.juliobattisti.com.br/excel12 ... licao6.htm

O conteudo total são em 120 lições, vale a pena perder um tempinho e ler, e o melhor é que é gratuito.
[]s

 
Postado : 12/03/2012 8:42 pm
(@fabioprade)
Posts: 273
Reputable Member
Topic starter
 

Mauro, gostei do material, vou estudar encima dele.

Com as tuas indicaçoes eliminou os erros mas ainda nao carrega nada.

Um grande abraço Mauro.

 
Postado : 12/03/2012 9:10 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Fábio, sugiro que baixe o arquivo no link abaixo, eu mostro alguns conceitos básicos de se trabalhar com ListView, na criação de Colunas, Itens e SubItens:
LISTVIEW NO EXCEL - ALGUNS CONCEITOS
http://www.tomasvasquez.com.br/forum/vi ... f=17&t=571

No Forum acima, em DICAS, encontrara outros exemplos dde ListView :
http://www.tomasvasquez.com.br/forum/viewforum.php?f=17

Quanto a sua questão, vamos utilizar a Lógica, você tentou adaptar uma outra rotina "Preenche Listview" para o seu modelo, mas não copiou todas as instruções, ou seja :

' Adiciona as colunas
With ListView4
.ColumnHeaders.Clear 'Limpa as Colunas
.Gridlines = True 'Propriedade Grade
.View = lvwReport 'Propriedade Modo de Visualização

End With

Depois temos :
Conta a quantidade de itens na Coluna "a"
lastRow = Contratos.Cells(Contratos.Cells.Rows.Count, "a").End(xlUp).Row

E, em seguida :
' Adiciona itens ao ListView
For X = 2 To lastRow
Set li = ListView4.Listitems.Add(Text:=Contratos.Cells(X, "a").Value)
li.ListSubItems.Add Text:=Contratos.Cells(X, "b").Value
k = k + 1
Next

Ok, nas instruções acima estamos preenchendo o LVW somente com os dados das Colunas "a e b", mas o porem é, porque não é mostrado o ListView preenchido ?
Resposta : Porque não Criamos as COLUNAS para exibição dos itens.

Então devemos acrescentar as instruções para cria-las antes, ficando :

   With ListView4
        .ColumnHeaders.Clear 'Limpamos as Colunas Existentes
        .Gridlines = True
        .View = lvwReport
        
        'e ReCriamos as Colunas
        .ColumnHeaders.Add Text:="Nome", Width:=70
        .ColumnHeaders.Add Text:="Vencimento", Width:=50
        .ColumnHeaders.Add Text:="Data Atual", Width:=50
        .ColumnHeaders.Add Text:="Faltam", Width:=50
        .ColumnHeaders.Add Text:="Lembrete", Width:=50
        .ColumnHeaders.Add Text:="Aniversario", Width:=50
    End With

E para adicionar os itens referentes as Colunas "A" até "E", alteramos as linhas para:

    ' Adiciona itens
   For X = 2 To lastRow
        Set li = ListView4.Listitems.Add(Text:=Contratos.Cells(X, "a").Value)
            li.ListSubItems.Add Text:=Contratos.Cells(X, "b").Value
            li.ListSubItems.Add Text:=Contratos.Cells(X, "c").Value
            li.ListSubItems.Add Text:=Contratos.Cells(X, "d").Value
            li.ListSubItems.Add Text:=Contratos.Cells(X, "e").Value
        
        'k = k + 1
    Next

A Variável "k" está desabilitada, devido a mesma não ter nada a ver com o contexto da rotina.

[]s

 
Postado : 13/03/2012 4:37 pm
(@fabioprade)
Posts: 273
Reputable Member
Topic starter
 

Boa Noite Mauro,

Quando criei esta aba, alem da necessidade queria testar um pouco o que aprendi ate agora, mas ter esquecido( deletado por descuido) as duas indicaçoes das colunas foi um erro muito primario, fiquei ate com vergonha, mas tudo bem, acho que depois desta vou ter mais atençao.
Para terminar esta aba, quero ser avisado com uma janela de aviso, toda vez que um contrato estiver na semana de vencer, vou tentar sozinho ai qualquer coisa corre aqui.

Mauro, começa a ficar ate chato sempre a mesma ladainha de agradecimento, voce ja sabe o que eu penso sobre voce.

Um grande abraço Mestre Mauro.

 
Postado : 13/03/2012 8:52 pm