La consultazione del forum è libera per tutti.
Per poter porre un quesito è invece necessario essere un utente registrato (clicca qui se non lo sei).
Tutti gli utenti che richiedono un supporto, come da REGOLAMENTO, sono caldamente invitati ad allegare un file di esempio con l'indicazione di quello che si desidera ottenere.
Ciao a tutti, sono sempre quella che vuole usare vba senza saperlo fare..sono riuscita a far funzionare quasi tutto ma ho ancora alcuni problemi con la userform "acquisti" e in particolare:
- la userform funziona ma sul rispettivo foglio excel non vengono visualizzati i dati inseriti
- non riesco a far funzionare la funzione RowSource sulla combobox1, che dovrebbe andare a pescare i nomi dei fornitori nella colonna A del foglio "anagrafica fornitori". la userform funziona ma nell'elenco a discesa non vedo nulla
- da questa non ne esco: la textbox "imposta" dovrebbe calcolare partendo dalla textbox "imponibile" la percentuale come indicato dalla combobox "aliquota" (spero che sia chiaro..). Anche qui la userform funziona ma il calcolo non viene effettuato
Allego il file e vi ringrazio in anticipo, su questo forum siete sempre simpaticissimi e soprattutto non fate sentire chi pone quesiti un perfetto imbecille...grazie!
PS: scusatemi se risponderò in ritardo alle vostre soluzioni, a questo file lavoro quasi sempore di venerdì e non lo riprendo in mano fino al lunedì successivo...
ciao
spero non sparare menate
ma RowSource sembra non accettare nomi con spazi
perciò ho rinominato il foglio
Anagrafica_fornitori
( la macro sotto funziona vediamo se correggono in meglio i VBAISTI oltre a Marius ora si è aggiunto Rollis
due bravi con il VBA a differenza mia che sono portato alle formule)
Private Sub UserForm_Initialize() TextBox12 = Date TextBox3 = Date With ComboBox2 .AddItem "22" .AddItem "10" .AddItem "04" .AddItem "esente" .AddItem "non imponibile" End With With ComboBox3 .AddItem "22" .AddItem "10" .AddItem "04" .AddItem "esente" .AddItem "non imponibile" End With ComboBox1.RowSource = "=Anagrafica_fornitori!A3:A50" End Sub
- I dati inseriti con la userform "acquisti" li trovi in fondo alla lista nel foglio "Acquisti" (dopo il 0066) perché nella macro CommandButton1_Click() hai un errore di riferimento dato che nella colonna A hai già riportato una numerazione. Nella stessa macro cambia la riga in:
While Sheets("Acquisti").Cells(nriga, 2) <> "" '<- era 1, ora punta alla colonna B
- poi, non vedo nella macro UserForm_Initialize() dove inizializzi i dati per la ComboBox1. La soluzione suggerita da @gianfranco55 è la più diretta, altrimenti, per mantenere lo spazio nel nome del foglio aggiungi queste righe alla macro:
Sheets("Anagrafica fornitori").Select '<-aggiunta -seleziona il foglio sorgente ComboBox1.RowSource = "A3:A50" '<-aggiunta -assegna l'area Sheets("Foglio1").Select '<-aggiunta -ritorna al foglio di partenza
- e per finire, la macro ComboBox1_Change() in questo contesto non è necessaria, anzi, disturba. Pertanto la devi disattivare (togliere).
- secondo me, l'ultimo punto, con i calcoli all'interno di una userform, merita una discussione a parte.
ciao
semplificando basterebbe
Private Sub TextBox14_Enter() TextBox14 = TextBox7 * ((ComboBox2.Value) / 100) End Sub
Ragazzi siete fantastici, ora funziona tutto perfettamente! Quindi me ne approfitto e vi faccio un'altra domanda: perchè il campo "data fattura" insiste a propormi la data di oggi? immagino che sia un errore davvero stupido ma non riesco a scovarlo
ciao
sei tu che glielo imponi con questa stringa
TextBox12 = Date
TextBox3 = Date