Condividi tramite

Come faccio a mettere il risultato di un combobox contenuta in un userform in una matrice?

Anonimo
2012-10-17T16:25:13+00:00

Ho creato un userform dove ho inserito alcuni campi e combobox.

Nelle proprietà dei campi e combobox e precisamente nel ControlSource ho aggiunto il nome che mi definiscono le celle nel mio foglio elettronico. Così quando inserisco i dati tramite questi campi e combobox contenuti nell'userfom questi mi finiscono nelle zone nel mio foglio. Questo funziona perfettamente.

Ho provato a cambiare cioè porre in ControlSource variabili prima e poi anche una matrice, definiti nel mio listato. Così i dati inseriti non vanno nel foglio di lavoro ed io posso prenderli ed utilizzarli dove voglio.

NON funziona e mi da errore: "Impossibile impostare la proprietà ControlSource. Valore della proprietà non valido".

Mi potete aiutare? Grazie.

Microsoft 365 e Office | Excel | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

Anonimo
2012-10-22T04:31:22+00:00

<cut>

Puoi creare un tuo Type. Esempio, questo in un modulo standard:

Dim var As TuaVariabile

Public Type TuaVariabile

    Nome As String

    Città As String

    NumeroBolla As Long

    Data As Date

End Type

E questo nella UserForm:

Public Sub m_1()

    var.Nome = Textbox1.Text

    varCittà = Combobox1.Text

    var.NumeroBolla = TextBox2.Text

    var.Data = CDate(TextBox3.Text)

End Sub

Public Sub m_2()

    MsgBox var.Data

End Sub

Dove metto dati nella mia Type in m_1 e recupero poi ad esempio la data in m_2.

In questo specifico caso ho messo il Type e la variabile var di tipo TuaVariabile in un modulo standard, quindi visibili e utilizzabili da tutto il progeto. Non so di preciso cosa devi farne, ma ovviamente può stare tutto nella UserForm con la visibilità che rimane interna alla stessa.

Tieni presente che un errore non gestito, vuota la memora e quindi perdi quanto eventualmente messo nella variabile.

Il mio consiglio è quello di appoggiare tutto in un foglio nascosto da pulire quando i dati non servono più. Il foglio è di per se una matrice già dimensionata.

Un altra soluzione è creare una classe e istanziare uno o più oggetti all'occorrenza, utilizzando una Collection per la loro gestione.

Personalmente metterei poi i nomi delle città, i fornitori e i prodotti in un foglio Dati, caricandoli poi nelle ComboBox all'avvio. Questo evita che se aggiungo un fornitore, un prodotto  o una città, debba intervenire sul codice.

Poi non so a cosa ti serva questa cosa, quindi diventa difficile rispondere.

La risposta è stata utile?

0 commenti Nessun commento

8 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2012-10-18T18:48:00+00:00

    Abbi pazienza, su skydrive ho creato la cartella pubblica e sotto condivisione mi dice Pubblici. Adesso cosa devo fare?

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2012-10-18T16:49:43+00:00

    Ho inserito il file Esempio.xls su skydrive.

    <cut>

    Grazie. 

    Se non posti il link, noi non possiamo sapere dove si trova il file.

    Grazie.

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2012-10-18T16:44:21+00:00

    Ho inserito il file Esempio.xls su skydrive.

    Esempio.xls funziona così. Cliccando sul bottone Inserimento Bolla si apre un userform dove posso compilare i miei campi e combobox, che saranno scritti sulla prima riga del foglio inizio. Cliccando su Registra questi saranno spostati sul foglio dbase.

    Vorrei saltare questo passaggio, cioè i dati compilati non andassero sulla prima riga del foglio inizio ma su una matrice del listato e così successivamente potrei riprenderli tutte le volte che voglio.

    Grazie.

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2012-10-17T17:01:16+00:00

    Ho creato un userform dove ho inserito alcuni campi e combobox.

    <cut>

    Mi potete aiutare? Grazie.

    Tutto troppo vago(almeno per me).

    Definisci meglio, per favore, quello che stai facendo, Grazie.

    O meglio, posta qui un file di esempio:

    http://windows.microsoft.com/it-IT/skydrive/home

    Qui trovi come fare:

    http://answers.microsoft.com/it-it/office/forum/officeversion_other-office_install/come-pubblicare-file-ed-immagini-nei-forum-di/00e17579-87b8-404b-9544-efea19cf4b8a

    Grazie.

    La risposta è stata utile?

    0 commenti Nessun commento