Ho creato una UserForm con una ComboBox e una ListBox.
Nella ComboBox vorrei selezionare il fornitore che si trova nella
colonna A e visuarizzare tutte lefatture del fornitore in ordine di
data n° fattura Importo Fatt. Pagato il.
Se poi non chiedo troppo, poter filtrare un certo periodo tipo un
trimestre oppure un anno.
Vi ringrazio per un eventuale risposta.
Ciao Roccia
Ciao Roccia
--------------------------------
Ciao Roccia,
ti ho inviato un file di esempio che sarebbe da ampliare,
vedi se come base può andare.
Ciao
Pippo Coco
Ciao Pippo, grazie per il file, a mè serviva solo una macro per poter
caricare i dati nella listbox, però cercherò di studiare un pò il
codice sperando di riuscire ad adattare il codice alle mie esigenze
(sarà un pò dura) .
Ti ringrazio moltissimo per la tua disponibilità.
Ciao Roccia
Ciao.
C'è qual'cuno che mi può dare una mano ad adattare questo codice alle
mie esigenze sopra citare?
Private Sub ListBox1_Enter()
Application.ScreenUpdating = False
Sheets("foglio2").Select
Range("A1").Select
X = Range("A1").Address
Y = Range("A1").End(xlDown).Address
ListBox1.RowSource = "" & X & ":" & Y & ""
Sheets("foglio1").Select
Application.ScreenUpdating = True
End Sub
A mè servirebbe almeno 4 colonne.
Ringrazio per un eventuale aiuto.
Ciao Roccia
Ciao Roccia.
Io *davvero* mi domando perche' complicarsi la vita con uno UserForm
quando coi filtri di Excel si puo' fare tutto cio' che domandi "sul
posto". Puoi spiegare, per favore? Poi ***semmai*** potremmo continuare
il discorso dello UserForm.
--
Ciao :o)
Maurizio Borrelli, Microsoft Office Access MVP
-------- http://mvp.support.microsoft.com/
?SPQR(C)
X RIO - Risorse in italiano per gli utenti di office
-------- http://www.riolab.org/
Roccia ha scritto:
---------------------------
Ciao Roccia,
il codice che hai postato non fà altro che :
- Disattivare l'aggiornamento dello schermo per evitare
lo sfarfallio.
- Popolare la ListBox di quello che c'è nella Colonna A del Foglio2.
- Attivare il Foglio1.
Del contenuto della ListBox poi bisognerà farne qualcosa, cioè
selezionare un rekord.
Nel file che ti ho inviato infatti, in base alla scelta fatta sulla
ListBox si provvede ad estrarre con il filtro avanzato i rekords
che soddisfano la condizione o le condizioni e puoi mettere tutte
le colonne che vuoi.
Praticamente tu hai già tutto o quasi; inviami il tuo file che
vedo di completarlo.
Ciao
Pippo Coco
Ho ricevuto la tua email.
Senza promessa da parte mia, potresti mandarmi il tuo file,
fermo restando che una soluzione eventuale sara' postata
sul NG
---
Regards,
Norman
Ciao Norman,
scusami, ma è così difficile popolare una ListBox a 4 colonne?
perchè ho cercato sul NG, ma non riesco a trovare niente che fa al
caso mio, si ho trovato come popolare una ListBox inserita in un
foglio, ma non in una UserFom, cosa bisogna fare per adattarla alla
UserFom?
Attendo una tua risposta, grazie ciao Roccia.
'------------------------
scusami, ma è così difficile popolare una ListBox a 4 colonne?
perchè ho cercato sul NG, ma non riesco a trovare niente che fa al
caso mio, si ho trovato come popolare una ListBox inserita in un
foglio, ma non in una UserFom, cosa bisogna fare per adattarla alla
UserFom?
Attendo una tua risposta, grazie ciao Roccia.
'------------------------
Non e' difficile caricare una ListBox.
Comunque, avendo letto il thread e avendo visto il file di esempio
che mi hai mandato, sono pienemante d'accordo con Maurizio:
penso che tutta la funzionalità richiesta sia disponibile utilizzando
un filtro. Forse, prima di fornire del codice per un'Userform, sarebbe
utile se rispondessi alla domanda del Maurizio.
---
Regards,
Norman
Ciao Maurizio
Il filtro lo utilizzo già con successo, volevo inserire un UserForm
per dare un immagine più professionale al programma.
'---------------------
scusami, ma è così difficile popolare una ListBox a 4 colonne?
perchè ho cercato sul NG, ma non riesco a trovare niente che fa al
caso mio, si ho trovato come popolare una ListBox inserita in un
foglio, ma non in una UserFom, cosa bisogna fare per adattarla alla
UserFom?
'---------------------
Se vuoi utilizzare un'Userform, come punto di partenza potresti
provare qualcosa del genere:
'=============>>
Option Explicit
Private Sub UserForm_Initialize()
Dim Rng As Range
Dim rCell As Range
Dim myCol As Collection
Dim i As Long, j As Long, k As Long
Dim n As Long
Dim Swap1 As Variant, Swap2 As Variant
Dim myItem As Variant
Set Rng = MyRng
Set myCol = New Collection
Me.ListBox1.ColumnCount = Rng.Columns.Count
On Error Resume Next
For Each rCell In Rng.Columns(1).Cells
With rCell
myCol.Add .Value, CStr(.Value)
End With
Next rCell
On Error GoTo 0
For i = 1 To myCol.Count - 1
For j = i + 1 To myCol.Count
If myCol(i) > myCol(j) Then
Swap1 = myCol(i)
Swap2 = myCol(j)
myCol.Add Swap1, before:=j
myCol.Add Swap2, before:=i
myCol.Remove i + 1
myCol.Remove j + 1
End If
Next j
Next i
For Each myItem In myCol
Me.ComboBox1.AddItem myItem
Next myItem
End Sub
'-------------------->>
Private Sub ComboBox1_Change()
Dim Rng As Range
Dim rCell As Range
Dim i As Long, j As Long
Dim arr() As Variant
Set Rng = MyRng
Me.ListBox1.Clear
For Each rCell In Rng.Columns(1).Cells
With rCell
If .Value = Me.ComboBox1.Value Then
i = i + 1
ReDim Preserve arr(1 To 5, 1 To i)
For j = 1 To Rng.Columns.Count
arr(j, i) = .Offset(0, j - 1).Value
Next j
End If
End With
Next rCell
Me.ListBox1.Column() = (arr)
End Sub
'-------------------->>
Public Function MyRng() As Range
Dim WB As Workbook
Dim SH As Worksheet
Dim Rng As Range
Dim iLastRow As Long
Set WB = Workbooks("Pippo.xls") '<<=== da CAMBIARE
Set SH = Sheets("Foglio1") '<<=== da CAMBIARE
With SH
iLastRow = .Range("A" & .Rows.Count).End(xlUp).Row
Set MyRng = .Range("A2:E" & iLastRow)
End With
End Function
'<<=============
---
Regards,
Norman
Grazie Norman.
Il codice l'ho provato e funziona benissimo, era questo l'obbiettivo
che volevo raggiungere, il più è fatto ora cercherò di abbellirla un
pò, la UserForm
Di nuovo ti ringrazio e ti saluto
Ciao