Vídeo recomendado
https://youtu.be/diWPPPhW-9E
https://youtu.be/diWPPPhW-9E
ListView![RESOLVIDO]
ListView![RESOLVIDO]
Boa Tarde!
Tenho um form onde são inseridos o nº de NF e são salvos na planilha....como faço para carregar o listview, para que apareça da seguinte maneira:
NF...................Item.........................Qtde
383232............Bala...........................100
383232...........Chocolate.....................100
383232...........Caramelo......................50
383232...........Sorvete.........................50
383232...........Chiclete.......................200
Deste jeito que gostaria de carregar:
NF...................Qtde
383232.............500
ou seja, mostrasse na ListView o soma da NF
Grato por enquanto!
Tenho um form onde são inseridos o nº de NF e são salvos na planilha....como faço para carregar o listview, para que apareça da seguinte maneira:
NF...................Item.........................Qtde
383232............Bala...........................100
383232...........Chocolate.....................100
383232...........Caramelo......................50
383232...........Sorvete.........................50
383232...........Chiclete.......................200
Deste jeito que gostaria de carregar:
NF...................Qtde
383232.............500
ou seja, mostrasse na ListView o soma da NF
Grato por enquanto!
Editado pela última vez por epplenas em Sáb Dez 06, 2014 8:30 am, em um total de 1 vez.
- joseA
- Jedi
- Mensagens: 1048
- Registrado em: Qui Out 22, 2009 7:22 am
- Localização: Cel. Fabriciano - MG
Re: ListView!
Não entendi, os dados digitados serão sempre com a mesma NF?
Editado pela última vez por joseA em Sex Nov 21, 2014 3:50 pm, em um total de 1 vez.
- joseA
- Jedi
- Mensagens: 1048
- Registrado em: Qui Out 22, 2009 7:22 am
- Localização: Cel. Fabriciano - MG
Re: ListView!
Em todo caso, essa rotina retorna no ListView exatamente o quê você solicitou.
Código: Selecionar todos
Private Sub UserForm_Initialize()
Dim NF As Long
Dim wsDados As Worksheet
Dim result As Long
'nº NF
On Error Resume Next
NF = InputBox("Informe o nº da NF", "Solicitação")
'----- Preenchimento ListView------------------------
With ListView1
.Gridlines = True
.ListItems.Clear
.FullRowSelect = True
'Define o número de colunas e cabeçalhos
With .ColumnHeaders
'Remove cabeçalhos antigos
.Clear
'Adicionado 2 colunas, especificando o nome do cabeçalho
'e a largura das colunas
.Add , , "NF", 80
.Add , , "Qtde", 50
End With
'Enchendo a primeira coluna (criação da 1ª linha)
With .ListItems
.Add , , NF
End With
'Calculando e preenchendo a coluna 2 da 1ª linha
Set wsDados = Plan1
result = Application.WorksheetFunction.SumIfs(wsDados.Columns(3), wsDados.Columns(1), NF)
.ListItems(1).ListSubItems.Add , , result
End With
'Especifica o modo de exibição "Detalhes"
ListView1.View = lvwReport
End Sub
- joseA
- Jedi
- Mensagens: 1048
- Registrado em: Qui Out 22, 2009 7:22 am
- Localização: Cel. Fabriciano - MG
Re: ListView!
Achei estranho sua pedida, porque pensa bem, você irá ter sempre a mesma Nota Fiscal?
Aparece primeiramente um ImputBox para vc digitar o nº da NF como parâmetro e clicar em OK, se não o fizer não haverá preenchimento.epplenas escreveu:...porém a rotina esta não "puxa" nada....
aparece tudo em branco
Re: ListView!
joseA, Boa Noite!
na verdade acho que eu não expliquei por completo, o exemplo q eu citei foi paenas de 01 NF, no caso gostaria que se eu tivesse , por exemplo, sei lá, 10 NF's, ele fizesse este processo:
NF......................Item................Qtde
1010 ------------------1510-----------------100
1010 ------------------1520------------------100
1010 ------------------1530------------------500
1020 ------------------2020------------------100
1020 ------------------2025------------------300
1020 ------------------3401------------------300
1030 ------------------5311------------------200
1030 ------------------5312------------------200
1030 ------------------5235------------------100
1040 ------------------4010------------------50
1040 ------------------4034------------------50
1040 ------------------3435------------------50
no caso acima, mostra 03 NF's diferentes, gostaria que a listview mostraria conforme abaixo:
NF......................Qtde
1010------------------700
1020------------------700
1030------------------500
1040------------------150
na verdade acho que eu não expliquei por completo, o exemplo q eu citei foi paenas de 01 NF, no caso gostaria que se eu tivesse , por exemplo, sei lá, 10 NF's, ele fizesse este processo:
NF......................Item................Qtde
1010 ------------------1510-----------------100
1010 ------------------1520------------------100
1010 ------------------1530------------------500
1020 ------------------2020------------------100
1020 ------------------2025------------------300
1020 ------------------3401------------------300
1030 ------------------5311------------------200
1030 ------------------5312------------------200
1030 ------------------5235------------------100
1040 ------------------4010------------------50
1040 ------------------4034------------------50
1040 ------------------3435------------------50
no caso acima, mostra 03 NF's diferentes, gostaria que a listview mostraria conforme abaixo:
NF......................Qtde
1010------------------700
1020------------------700
1030------------------500
1040------------------150
- joseA
- Jedi
- Mensagens: 1048
- Registrado em: Qui Out 22, 2009 7:22 am
- Localização: Cel. Fabriciano - MG
Re: ListView!
Mas, se reler no meu 1º post alertei sobre isso.
Código: Selecionar todos
Private Sub UserForm_Initialize()
Dim n As Long, texto As Variant
Dim qt As Integer
Dim wsDados As Worksheet
Dim X As Integer
Dim result As Long
qt = Plan1.[A2].CurrentRegion.Rows.Count
On Error Resume Next
'----- Preenchimento ListView------------------------
With ListView1
.Gridlines = True
.ListItems.Clear
.FullRowSelect = True
'Define o número de colunas e cabeçalhos
With .ColumnHeaders
'Remove cabeçalhos antigos
.Clear
'Adicionado 2 colunas, especificando o nome do cabeçalho
'e a largura das colunas
.Add , , "NF", 70
.Add , , "Qtde", 50
End With
' Selecionando dados exclusivos da coluna NF e adicionando no controle ##
For n = 2 To qt
If Plan1.Cells(n, 1) = "" Then Exit For
If InStr(texto, Plan1.Cells(n, 1)) = 0 Then
texto = texto & "|" & Plan1.Cells(n, 1) '& "|"
End If
Next
texto = Split(texto, "|")
For i = 1 To UBound(texto)
With .ListItems
.Add , , texto(i)
End With
Next
End With
'Especifica o modo de exibição "Detalhes"
ListView1.View = lvwReport
'Loop nos dados da 1ª coluna p/ parâmetros
For X = 1 To ListView1.ListItems.Count
'Calculando e preenchendo a coluna 2 da 1ª linha
Set wsDados = Plan1
result = Application.WorksheetFunction.SumIfs(wsDados.Columns(3), wsDados.Columns(1), ListView1.ListItems(X))
ListView1.ListItems(X).SubItems(1) = result
Next
End Sub
-
- Colaborador
- Mensagens: 57
- Registrado em: Sáb Ago 16, 2014 10:44 am
Re: ListView!
Olá,
O que o amigo JoseA está explicando está correto. Porém eu faria algo bem mais fácil e rápido.... ao lado da listview adaptaria uma combobox ..... da para personalizar fica bom...ai to faz a soma separada.... ai tu vai ter que fazer mais adaptações....
O que o amigo JoseA está explicando está correto. Porém eu faria algo bem mais fácil e rápido.... ao lado da listview adaptaria uma combobox ..... da para personalizar fica bom...ai to faz a soma separada.... ai tu vai ter que fazer mais adaptações....
Re: ListView!
joseA....Boa Tarde!
Agora deu certo.....obrigado!!!!!
aproveitando e abusando, em um form tenho o seguinte código no botão salvar:
Private Sub CommandButton6_Click()
Dim iRow_1 As Long
Dim ws_1 As Worksheet
Set ws_1 = Worksheets.Application.Sheets("EXPEDIÇÃO")
iRow_1 = ws_1.Cells(Rows.Count, 2).End(xlUp).Offset(1, 0).Row
For X = 1 To 36 Step 3
If Controls("Textbox" & X).Value <> "" Then
ws_1.Cells(iRow_1, 1).Value = Controls("Textbox" & X).Value
ws_1.Cells(iRow_1, 2).Value = Controls("Textbox" & X + 1).Value
ws_1.Cells(iRow_1, 3).Value = Controls("Textbox" & X + 1).Value
ws_1.Cells(iRow_1, 4).Value = TimeValue(Label243)
ws_1.Cells(iRow_1, 5).Value = Label242
ws_1.Cells(iRow_1, 6).Value = ComboBox1
ws_1.Cells(iRow_1, 7).Value = ComboBox2
iRow_1 = iRow_1 + 1
End If
Next
Call Preenche
MsgBox "Migo registrada com Sucesso!", vbOK, "Expedição"
For Each ctr In Controls
If TypeName(ctr) = "TextBox" Then
ctr.Text = ""
End If
Next
este código lança as 20 textbox do form......porem apresenta um erro.....eu só consigo que o código funcione quando tenho 02 textbox, por exemplo
textbox1----------textbox2
textbo3-----------textobx4 deste modo ele salva o registro
no caso eu queria com a opção de tres textbox, exemplo:
textbox1--------------textbox2------------textbox3
textbox4--------------textbox5------------textbox6
Grato por enquanto!
Agora deu certo.....obrigado!!!!!
aproveitando e abusando, em um form tenho o seguinte código no botão salvar:
Private Sub CommandButton6_Click()
Dim iRow_1 As Long
Dim ws_1 As Worksheet
Set ws_1 = Worksheets.Application.Sheets("EXPEDIÇÃO")
iRow_1 = ws_1.Cells(Rows.Count, 2).End(xlUp).Offset(1, 0).Row
For X = 1 To 36 Step 3
If Controls("Textbox" & X).Value <> "" Then
ws_1.Cells(iRow_1, 1).Value = Controls("Textbox" & X).Value
ws_1.Cells(iRow_1, 2).Value = Controls("Textbox" & X + 1).Value
ws_1.Cells(iRow_1, 3).Value = Controls("Textbox" & X + 1).Value
ws_1.Cells(iRow_1, 4).Value = TimeValue(Label243)
ws_1.Cells(iRow_1, 5).Value = Label242
ws_1.Cells(iRow_1, 6).Value = ComboBox1
ws_1.Cells(iRow_1, 7).Value = ComboBox2
iRow_1 = iRow_1 + 1
End If
Next
Call Preenche
MsgBox "Migo registrada com Sucesso!", vbOK, "Expedição"
For Each ctr In Controls
If TypeName(ctr) = "TextBox" Then
ctr.Text = ""
End If
Next
este código lança as 20 textbox do form......porem apresenta um erro.....eu só consigo que o código funcione quando tenho 02 textbox, por exemplo
textbox1----------textbox2
textbo3-----------textobx4 deste modo ele salva o registro
no caso eu queria com a opção de tres textbox, exemplo:
textbox1--------------textbox2------------textbox3
textbox4--------------textbox5------------textbox6
Grato por enquanto!
- joseA
- Jedi
- Mensagens: 1048
- Registrado em: Qui Out 22, 2009 7:22 am
- Localização: Cel. Fabriciano - MG
Re: ListView!
Penso que seria menos trabalhoso, se você referenciasse os textbox's um a um e não o conjunto como vem fazendo. Qualquer coisa anexe o modelo.