Buon Giorno a tutti
**** realizzato una UserForm con due ListBox , la ListBox1 carica le Etichette delle Colonne (Categorie) , con click su item in ListBox1 , Nella ListBox2 si carica l'elenco della colonna interessata .
(il database e' nel Foglio 1 )
Quindi in inserimento io clicco sulla Prima Categoria della ListBox1 ,si apre l'elenco relativo nella ListBox2 , seleziono il dato e con il Pulsante (cmdBttn) copio il dato , ripeto il ciclo con la seconda categoria .... fino alla sesta .
Le Categorie (ListBox1) sono 6 e i dati vengono salvati nel Foglio2 su una riga a partire dalla riga 3
C3 Cognome D3 Nome E3 Data di Nascita F3 Luogo di Nascita G3 Indirizzo H3 Residente
Il codice che incollo piu' sotto Funziona ....... pero' solo nella riga 3 .... non sono capace di dargli l'istruzione ; dopo il sesto inserimento ... riparti da Capo ..... e inserisci i dati
dalla prima riga vuota (C4,D4,E4,F4G4,H4 ....... )
Graditi suggerimenti
Option Explicit
Dim sh As Worksheet, i As Long, elemento As String, p As String, posiz As String
Private Sub CommandButton1_Click()
UserForm1.Hide
End Sub
Private Sub ListBox1_Click()
posiz = (ListBox1.ListIndex + 0)
i = 1
If ListBox2.ListCount >= 1 Then ListBox2.Clear
i = 2
Do Until Sheets("Foglio1").Cells(i, 1).Value = ""
With Sheets("Foglio1")
elemento = .Cells(i, posiz + 1)
End With
ListBox2.AddItem elemento
i = i + 1
Loop
End Sub
Private Sub ListBox2_Click()
p = ListBox2.ListIndex + 3
End Sub
Private Sub UserForm_Initialize()
If ListBox1.ListCount >= 1 Then ListBox1.Clear
i = 1
Do Until Sheets("Foglio1").Cells(1, i).Value = ""
With Sheets("Foglio1")
elemento = .Cells(1, i).Value
End With
ListBox1.AddItem elemento
i = i + 1
Loop
ListBox1.ListIndex = 0
End Sub
Private Sub CommandButton2_Click()
i = 3
Do Until Sheets("Foglio2").Cells(i, 1) = Empty
i = i + 1
Loop
With Sheets("Foglio2")
p = posiz
posiz = i + 1
.Cells(i, p + 3).Value = ListBox2.Text
End With
End Sub
E' un Codice alla Frankestein , copiato,incollato,rappezzato .....pero' funziona
GRAZIE Claudio P