Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Macro copia/incolla valore combobox in cella vuota

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Macro copia/incolla valore combobox in cella vuota

Postdi Marco75CT » 27/05/14 19:00

Ciao,
ho bisogno di un aiuto.
Uso excel 2010 ed ho una casella combinata con un elenco di prodotti.
Vorrei che, una volta selezionato il prodotto, su invio questo venga copiato nella prima cella vuota di una colonna specifica.
E' possibile?
Grazie
Marco75CT
Utente Senior
 
Post: 143
Iscritto il: 05/08/11 11:54

Sponsor
 

Re: Macro copia/incolla valore combobox in cella vuota

Postdi Flash30005 » 28/05/14 04:14

Supponendo che la colonna interessata sia la "A"
in combox change puoi inserire questo codice
Codice: Seleziona tutto
Private Sub ComboBox1_Change()
UR = Range("A" & Rows.Count).End(xlUp).Row + 1
Range("A" & UR).Value = Me.ComboBox1.Value
End Sub


ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Macro copia/incolla valore combobox in cella vuota

Postdi Marco75CT » 28/05/14 13:47

Ciao Flash e grazie per la rapida risposta.
Ho fatto come hai detto, ma non funziona.
Mi da errore.
Immagine
Marco75CT
Utente Senior
 
Post: 143
Iscritto il: 05/08/11 11:54

Re: Macro copia/incolla valore combobox in cella vuota

Postdi Anthony47 » 28/05/14 14:56

Humm...
Premesso che la soluzione non mi convince (scrivera' nelle celle il contenuto del combobox a ogni lettera che viene digitata), non riesco nemmeno a interpretare la finestra in cui viene visualizzato il codice e il relativo messaggio...
Confermi che usi XL2010?

Comunque potresti provare con
Codice: Seleziona tutto
Private Sub ComboBox1_LostFocus()
Cells(Rows.Count, "C").End(xlUp).Offset(1, 0) = ComboBox1.Value
End Sub

In questo modo il dato sara' posizionato nella cella solo quando uscirai dal combobox

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13885
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Macro copia/incolla valore combobox in cella vuota

Postdi Marco75CT » 28/05/14 15:40

Ciao Anthony,
ti ringrazio. Funziona!
E' anche possibile far copiare il dato su invio?
Marco75CT
Utente Senior
 
Post: 143
Iscritto il: 05/08/11 11:54

Re: Macro copia/incolla valore combobox in cella vuota

Postdi Flash30005 » 28/05/14 18:13

L'errore forse è dovuto al non dimensionamento della variabile UR nel caso hai Option explicit
pertanto potevi mettere
Dim UR as integer all'inizio della macro
E' vero che ad ogni digitazione di qualsiasi lettera andava a scrivere sulla prima cella libera ma essendo una combox "popolata" veniva scritto solo ciò che era in elenco e non doveva essere digitato nulla.
Dai miei test funzionava bene.

ma avendo risolto con la macro di Anthony quanto detto non serve tranne che a fare esperienza.

ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Macro copia/incolla valore combobox in cella vuota

Postdi Marco75CT » 28/05/14 20:56

Ciao Flash,
ad onor del vero, la tua macro funzionava su un file nuovo, ma non su quello che ho io...non so perchè.
Proverò, per mia curiosità e conoscenza futura, quanto da te suggerito.
Sapete dirmi se c'è un modo per uscire dalla combobox con l'invio? al momento esce con l'ESC, ma mi viene più scomodo.
Grazie ad entrambi
Marco75CT
Utente Senior
 
Post: 143
Iscritto il: 05/08/11 11:54

Re: Macro copia/incolla valore combobox in cella vuota

Postdi Anthony47 » 28/05/14 21:49

Per terminare con enter puoi usare l' evento KeyDown invece del LostFocus; esempio
Codice: Seleziona tutto
Private Sub ComboBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 13 Then
    Cells(Rows.Count, "C").End(xlUp).Offset(1, 0).Select
    Selection.Value = ComboBox1.Value
End If
End Sub

La macro sull' Enter seleziona la cella libera di colonna C e la popola col valore del combobox.

La mancata Dim di UR non avrebbe dovuto generare quell' errore; ma in realta' la pagina visualizzata nell' immagine non ha il look standard del vba (vedasi l' icona il alto a sx che non e' quella tipica del modulo di codice).
E comunque, pur essendo un combobox prepopolato, l' eventuale "scorrimento" della lista alla ricerca del valore giusto innesca piu' volte l' evento Change.

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13885
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Macro copia/incolla valore combobox in cella vuota

Postdi Marco75CT » 29/05/14 10:50

Grazie Anthony.
Ora è perfetto.
Marco75CT
Utente Senior
 
Post: 143
Iscritto il: 05/08/11 11:54


Torna a Applicazioni Office Windows


Topic correlati a "Macro copia/incolla valore combobox in cella vuota":


Chi c’è in linea

Visitano il forum: Nessuno e 12 ospiti