Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

combobox

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

combobox

Postdi bradice » 25/08/16 15:00

Buongiorno

Sto facendo uno scadenziario clienti in Excel. Ho creato un file Excel che contiene tra gli altri fogli uno nominato DBclienti.

Nel foglio "Base dati" dovrei inserire gli ordini/fatture dei clienti. Per facilitare l'inserimento ho creato una combobox con la funzione

"inserisci / casella combinata / Controllo ActiveX"

Nelle proprietà ho compilato le seguenti caselle:

ListFillRange: DBCLIENTI!$A$2:$A$800
LinkedCell: D4

Funziona correttamente.

Ho necessità di avere la combo su tutte le righe della mia "base dati" ma, mentre la matrice DBCLIENTI!$A$2:$A$800 è la stessa per tutte le righe la LinkedCell varia di cella in cella. In altre parole sulla prima cella ho:

Combobox1:
ListFillRange: DBCLIENTI!$A$2:$A$800
LinkedCell: D4

Combobox2:
ListFillRange: DBCLIENTI!$A$2:$A$800
LinkedCell: D5

etc..

la linkedcell mi serve per gestire altre formule presenti sul file del tipo cerca.vert, se...

siccome mi serviva immediatamente ho modificato riga per riga manualmente la LinkedCell per le prime 50 righe.

Mi chiedevo però se ci fosse modo di farlo automaticamente.

Tenete conto che non so nulla di macro e questo è il mio primo passo fuori dalle usuali formule Excel.

Grazie mille in anticipo
bradice
Newbie
 
Post: 3
Iscritto il: 25/08/16 14:37

Sponsor
 

Re: combobox

Postdi alfrimpa » 25/08/16 18:13

Ciao bradice

Per il momento sono fuori sede e non ho il pc per cui mi limito a consigliarti di allegare un file di esempio con la situazione di partenza ed il risultato che vuoi raggiungere e poi si vedrà il da farsi.
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 841
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: combobox

Postdi Marius44 » 25/08/16 18:34

Ciao
Vista la tua ultima affermazione
Tenete conto che non so nulla di macro e questo è il mio primo passo fuori dalle usuali formule Excel.

debbo aggiungere: Non è mai troppo tardi! :)
Hai inserito un Modulo ActiveX e va bene. Per assegnare la ListFillRange come hai fatto? Suppongo cliccando col tasto destro del mouse sulla ListBox e selezionando Proprietà. E fin qui tutto OK.

Non spaventarti ma ora viene il bello: dopo aver cliccato sulla ListBox col tasto destro, sopra Proprietà c'è Codice. Selezionalo.
Ti trovi nell'Editor di VBA (è quel posto dove si scrive il codice per le macro). Copia il codice che ti indico sotto e incollalo così come è nel foglio bianco che hai davanti. Ripristina il funzionamento di Excel (in alto dovrebbe esserci un pulsante con una squadra e una matita - Modalità Progettazione - cliccaci sopra) e chiudi il VBA.

Ora posiziona il mouse nella cella che tu decidi debba essere la LinkedCell e poi seleziona il dato nella ListBox.

Ecco il codice da copia/incollare.
Codice: Seleziona tutto
Private Sub ListBox1_Click()
ListBox1.LinkedCell = "Foglio1!" & ActiveCell.Address
End Sub


Se qualcosa non va, son qui. Ciao,
Mario
Marius44
Utente Senior
 
Post: 143
Iscritto il: 07/09/15 22:00

Re: combobox

Postdi Anthony47 » 26/08/16 00:56

Sono andato in crisi leggendo la riga "siccome mi serviva immediatamente ho modificato riga per riga manualmente la LinkedCell per le prime 50 righe": significa che hai inserito 50 combobox e a ognuna hai assegnato una linkedcell diversa??

Comunque, una possibile alternativa usando l'idea di Marius insieme con l'evento SelectionChange del Foglio su cui si lavora:
-supponiamo che le possibili linked cell siano D2:D50
-inserisci una Combobox (supponiamo che si chiami ComboBox1) e assegnagli ListFillRange e la prima LinkedCell
-tasto dx sul tab col nome del foglio su cui lavori, scegli Visualizza codice per aprire l'editor delle macro
-inserisci questo codice nel frame vuoto di destra:
Codice: Seleziona tutto
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
mytarg = "D2:D50"   '<<< L'area delle possibili linked cells
If Application.Intersect(Target, Range(mytarg)) Is Nothing Or _
  Target.Count > 1 Then
    ComboBox1.Visible = False    '***
Else
    ComboBox1.Left = Target.Offset(0, 1).Left
    ComboBox1.Top = Target.Top
    ComboBox1.LinkedCell = Target.Address
    ComboBox1.Visible = True
End If
End Sub

A questo punto torna sul foglio Excel e seleziona una cella nell'area delle possibili linked cells: il combobox verra' visualizzato accanto alla cella con la LinkedCell modificata. Se si seleziona una cella all'esterno delle possibili linked cells il combobox verra' nascosto.
Se si vuole lasciare il combobx sempre visibile basta cancellare la riga marcata ***

Ciao a tutti.
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: 13899
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: combobox

Postdi bradice » 26/08/16 09:45

buongiorno

purtroppo non ho risolto il mio problema. :roll:

probabilmente non mi sono spiegata bene, sto creando uno scandenziario ogni riga dello scadenziario deve avere una combobox che va a pescare i dati in un altro foglio.

ho quindi fatto esattamente quello che ha spaventato Anthony :) ho creato una combobox per ogni riga e per ogni riga ho inserito nella proprietà la linked cell, premiate la mia perseveranza!!!

ad ogni modo, ho provato entrambe le soluzioni ma in entrambi i casi, dopo avere selezionato dall'elenco una voce, la stessa viene riportata sulle righe successive contenti la stessa combo e sulla prima linked cell

ho provato su un file semplice con un elenco altrettanto semplice ma niente da fare. vorrei allegarlo per essere più chiara rispetto alla mia necessità e affinché possiate spiegarmi dove sbaglio.

non capisco però come faccio ad allegare il file, non vedo un opzione allega-

Grazie
Barbara
bradice
Newbie
 
Post: 3
Iscritto il: 25/08/16 14:37

Re: combobox

Postdi Marius44 » 26/08/16 10:04

Ciao Barbara
non capisco. Il mio suggerimento o quello di Anthony (un saluto) devono funzionare. :roll:
Sarebbe possibile allegare il tuo file (bastano poche righe, non 800, e senza dati sensibili) per vedere e cercare di capire perchè a te non funziona?

Grazie. Ciao,
Mario
Marius44
Utente Senior
 
Post: 143
Iscritto il: 07/09/15 22:00

Re: combobox

Postdi bradice » 26/08/16 10:19

Ciao Mario
vorrei allegarlo ma non capisco come si fa.. :undecided:
le opzioni disponibili sono salva bozza / anteprima /invia.. non c'è allega.. sono tonta io?
bradice
Newbie
 
Post: 3
Iscritto il: 25/08/16 14:37

Re: combobox

Postdi alfrimpa » 26/08/16 12:01

Ciao Barbara ed un saluto a Mario e ad Anthony

Per allegare il file devi usare un sito di file sharing tipo Filedropper o Dropbox; una volta che avrai caricato il file sul sito questo ti restiturà un link che copierai ed incollerai qui sul forum.
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 841
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: combobox

Postdi Anthony47 » 26/08/16 23:52

Istruzioni piu' dettagliate su come allegare un file sono reperibili qui: viewtopic.php?f=26&t=103893&p=605487#p605487

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: 13899
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "combobox":


Chi c’è in linea

Visitano il forum: Nessuno e 50 ospiti