Una famiglia di software per fogli di calcolo Microsoft con strumenti per l'analisi, la creazione di grafici e la comunicazione dei dati.
<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.