Una famiglia di software per fogli di calcolo Microsoft con strumenti per l'analisi, la creazione di grafici e la comunicazione dei dati.
Ciao Claudio,
Anche per me' e' difficile impostare il quesito in maniera chiara ..... scusa , ci provo
Selezionando uno dei nominativi dell'elenco caricato dalla ListBox1 ( Click ) , vorrei riportare il Nominativo selezionato , in
A1 , il secondo nominativo (selezionato dalla ListBox1) dovrebbe essere riportato in B1 , il terzo (selezionato dalla ListBox1) in C1 , il quarto (selezionato dalla ListBox1) in D1 (Max 50 Colonne ...) .
Il nr. di Colonne interessate , e' variabile , pero' sempre consecutive , Es.: A1:N1 oppure A1:AZ1
Questi Nominativi Saranno le intestazioni delle Colonne , a titolo di Esempio Supponendo che siano delle squadre di calcio , Colonna A (A1) Juventus , Colonna B (B1) Milan , Colonna C (C1) Inter .......
UserForm Activate La ListBox1 Carica l'Elenco delle squadre
ListBox1_Click copia il Nome della Squadra scelta nella Cella A1
Ripetendo il ciclo (ListBox1_Click) copia il Nome della Squadra scelta nella Cella B1
A seguire C1 , D1 , ....
Dopodiche' , studiero' il modo per poter scegliere la colonna di interesse e aggiungere i nomi dei giocatori delle squadra
(dei quali esiste un elenco ...) nella colonna di competenza Es.: Colonna A in A1 Juventus , in A2 Buffon , in A3 Chiellini .....
Ma questa parte voglio farla da solo (ci Provo ....)
Forse ho saltato dal manuale VB il capitolo Column Count Index .....
Avendo oramai capito la tua esigenza, prova qualcosa come segue.
Poniamo che abbiamo un file con un foglo denominato Squadre, il quale comprende un elenco di squadre nella sua colonna A; e un foglio denominato Output per ricevere i nomi delle squadre selezionate con la Userform, le selezioni essendo elencate sequenzialmente nella sua prima riga.
Crea una Userform con:-
Un controllo Listbox: lbxSquadre
Due controlli CommandButton: cbInserisce_Squadra e cb_Esce
Nel modulo di codice della Userfom, incolla il seguente codice:
'=========>>
Option Explicit
Dim SH_Output As Worksheet
'--------->>
Private Sub UserForm_Initialize()
Dim WB As Workbook
Dim SH_Input As Worksheet
Dim Rng_Squadre As Range, Rng_Output As Range
Dim LRow As Long
Const sFoglio_Input As String = "Squadre"
Const sFoglio_Output As String = "Output"
Set WB = ThisWorkbook
With WB
Set SH_Input = .Sheets(sFoglio_Input)
Set SH_Output = .Sheets(sFoglio_Output)
End With
With SH_Input
LRow = .Cells(Rows.Count, "A").End(xlUp).Row
Set Rng_Squadre = .Range("A2:A" & LRow)
End With
Me.lbxSquadre.List = Rng_Squadre.Value
End Sub
'--------->>
Private Sub cbInserisce_Squadra_Click()
Dim sSquadra As String
Dim Rng_Output As Range
Dim myOffset As Long
With Me.lbxSquadre
sSquadra = .List(.ListIndex)
End With
With SH_Output
myOffset = Not IsEmpty(.Cells(1, "A"))
Set Rng_Output = .Cells(1, .Columns.Count). _
End(xlToLeft).Offset(0, -myOffset)
End With
Rng_Output.Value = sSquadra
End Sub
'--------->>
Private Sub cb_Esce_Click()
Unload Me
End Sub
'<<=========
Potresti scaricare il mio file di prova Claudio20180606.xlsm
===
Regards,
Norman