Condividi:        

[Excel] Inserimento dati con user form

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

[Excel] Inserimento dati con user form

Postdi T3tra » 23/02/14 17:02

Salve a tutti,

Sto creando un file Excel che diverse persone dovranno compilare e che poi dovrò unire pee formare un unico db. Ho quindi necessità che i dati siano omogenei tra di loro. Per il momento mi sono limitato alla convalida dati, ma una maschera di inserimento sarebbe sicuramente più d'effetto.
In passato ho usato sempre Access per questo genere di cose, mentre ora ho necessità di rimanere in Excel. Purtroppo sono negato con VBA, pertanto vorrei chiedere se esistono degli esempi (personalizzabili) che possono fare al caso mio. Odiando la "pappa pronta", ho provato a seguire qualche guida partendo da zero, ma con scarsi risultati. Devo quindi arrendermi e chiedere lumi.

Grazie in anticipo a chiunque voglia illuminarmi :) qui un esempio della tipologia di campi che ho.
T3tra
Newbie
 
Post: 3
Iscritto il: 23/02/14 16:48

Sponsor
 

Re: [Excel] Inserimento dati con user form

Postdi Anthony47 » 23/02/14 20:15

Ciao T3tra, benvenuto nel forum.
Se non credi di avere un minimo di esperienza col vba io suggerirei di lasciare stare le userform, oggetti che richiedono molta programmazione.
Potresti invece valutare di inserire il singolo record tramite un foglio "Caricamento", organizzato come una maschera di input, dove usi la convalida come metodo per assicurare l' omogeneita' dei dati, da cui poi copierai il record complessivo per accodarlo nel foglio generale. Come ho semplificato nell' immagine:
Immagine
upload
Tutte le celle non oggetto di input dall' utente sono protette (tutte eccetto B2:B7, nell' esempio. Senza trascurare l' ipotesi che alcuni campi in realta' siano protetti e sono compilati con formule; esempio il campo Ragione Sociale potrebbe essere estratto dall' anagrafica clienti /fornitori partendo dalla partita Iva). Al momento della protezione foglio (con o senza password) scegli di non consentire la selezione di celle protette, per restringere l' area di navigazione dell' utente. Sui singoli campi applica una convalida per consentire un input corretto.
La cella A15 e' compilata una tantum col nome dell' operatore; l' area B15:G15 e' compilata con formule (es in B15 c' e' =B2); complessivamente A15:G15 rappresentano i campi aggregati come sono presenti nel foglio "generale".
L' area C3:E5 e' normalmente colorata di rosso leggero, e va colorata di verde con la formattazione condizionale quando tutti i campi sono compilati correttamente.
Al pulsante e' associata una macro che copia i valori in A15:G15 e li incolla come valori "in coda" al foglio "Generale"; poi cancella le celle usate per l' input. Questa macro la potrai creare con "Registra nuova macro", salvo la modifica di uno o due righe che faremo qui sul forum.
Ovviamente potrai preparare piu' fogli dedicati a data entry diversi, che accodano su elenchi diversi.

Se l' idea ti soddisfa organizza il foglio "Caricamento" con il layout che piu' ti convince secondo gli spunti di prima. Organizza il foglio "Generale" per contenere l' elenco man mano compilato. Poi registra una macro mentre copi da foglio Caricamento e IncolliSpeciale /Valori su foglio Generale.
A quel punto pubblica il codice della macro ottenuta e la modificheremo affinche' essa accodi all' elenco pre-esistente.
Al momento non curare l' estetica, lo farai quando le funzionalita' saranno soddisfacenti.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: [Excel] Inserimento dati con user form

Postdi Zer0Kelvin » 23/02/14 21:19

Ciao.
Esiste la possibilità di far creare automaticamente ad Excel, una sorta di userform, chiamata modulo dati.
Qui le sitruzioni:
http://office.microsoft.com/it-it/excel-help/aggiungere-modificare-trovare-ed-eliminare-righe-tramite-un-modulo-dati-HA102749061.aspx#BMcreate_a_data_form
Penso possa essere utile.
[Win7,Office2010]
Condividere la conoscenza aumenta la ricchezza di tutti(Z0°K)
Dai ad un uomo un pesce e lo avrai sfamato per un giorno;insegnagli a pescare e lo avrai sfamato per sempre(Confucio)
Il sonno della ragione genera mostri(Francisco Goya)
Avatar utente
Zer0Kelvin
Utente Senior
 
Post: 388
Iscritto il: 08/04/12 11:23

Re: [Excel] Inserimento dati con user form

Postdi Zer0Kelvin » 23/02/14 21:40

E' possibile creare una piccola macro che "lanci" il modulo dati:
Codice: Seleziona tutto
Public Sub ShowDataForm()
    With Foglio1
        .ListObjects("Tabella1").Range.Select
        .ShowDataForm
    End With
End Sub

L'area della tabella deve essere stata formattata come "Tabella".
Foglio1 deve essere sostituito col CodeName del foglio interessato; il CodeName si trova nella finestra Del VBA_Project ed è quello a sinistra del "Nome" del foglio (che è fra parentesi).
In questo contesto penso sia meglio usare il CodeName del foglio al posto del Name, perchè, se per qualsiasi motivo si va a modificare il nome del foglio, la macro andrà in errore.
Se decidi di usare la macro, non c'è bisogno di eseguire le istruzioni del link.
Tabella1 deve essere sostituito col nome reale della tabella.
-----------------------------------------------------------------------------------------------------------
Scusate per la doppia replica, ma il forum blocca troppo velocemente la possibilità di modifica...
[Win7,Office2010]
Condividere la conoscenza aumenta la ricchezza di tutti(Z0°K)
Dai ad un uomo un pesce e lo avrai sfamato per un giorno;insegnagli a pescare e lo avrai sfamato per sempre(Confucio)
Il sonno della ragione genera mostri(Francisco Goya)
Avatar utente
Zer0Kelvin
Utente Senior
 
Post: 388
Iscritto il: 08/04/12 11:23

Re: [Excel] Inserimento dati con user form

Postdi Anthony47 » 23/02/14 23:48

Ciao Z0K, non ho suggerito il Modulo perche' non mi pare che consenta la convalida dati, quindi l' input sarebbe guidato ma senza controlli. Comunque e' giusto che l' utente valuti anche questa possibilita'.

Ciao a tutti.
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: [Excel] Inserimento dati con user form

Postdi T3tra » 24/02/14 00:06

Ho già provato con un modulo, ma non mi convince molto.
L'idea di Anthony è senza dubbio interessante, però non si discosta molto da quello che ho già fatto, ovvero un format lineare con convalida dati. Considerando che l'utilizzatore inserirà al massimo 3/4 record, il rischio è che la differenza sia solo nella grafica (ma sicuramente lo utilizzerò in futuro, per altri lavori).
Io avevo in mente qualcosa di più interattivo e immediato come le maschere di access, con elenchi a discesa, check box e quant'altro... Però mi sembra di capire che su excel non è cosa facile :( forse mi conviene lasciare il format così com'è.

Grazie comunque ad entrambi per i suggerimenti! :)

Ps. Appena ho tempo abbozzo un file come consigliato per modificare la macro.
T3tra
Newbie
 
Post: 3
Iscritto il: 23/02/14 16:48

Re: [Excel] Inserimento dati con user form

Postdi Anthony47 » 24/02/14 00:51

La cosa e' fattibilissima con una userform contenente tutti i controlli che servono; ma sono tutti oggetti che vanno programmati e gestiti su evento, il che e' incompatibile con l' affermazione che sei negato per il vba.
Ma forse sei stato troppo negativo...

Per cominciare vai all' editor delle macro (da Excel: Alt-F11); poi Menu /Inserisci /Userform; disegna una form vuota, mettici un listbox (casella di riepilogo) o un combobox (casella combinata); poi comincia a esaminare le proprieta' dell' oggetto e mettere qualche dato "a occhio"; premi F7 per inserire il codice necessario alla gestione della Form (scegli Userform dall' elenco a discesa in alto a sx, scegli un evento dall' elenco di dx); ripeti per il Listbox o combobox.
Quando vuoi provare premi F5 dal modulo contenente il codice macro.

Con un po' di pazienza avrai superato la "negazione" per il vba e comincerai a pensare come poter sfruttare ogni proprieta' per quello che devi fare e come scrivere nel codice lo specifico comando...
Ricordo molti volenterosi che hanno deciso di cominciare:
viewtopic.php?f=26&t=93824
viewtopic.php?f=26&t=101281
viewtopic.php?f=26&t=101273
Insomma tutt'altro che "non fattibile".

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: [Excel] Inserimento dati con user form

Postdi T3tra » 25/02/14 23:00

Mi hai convinto :) appena ho un po' di tempo inizio a smanettare col vba. Grazie per i suggerimenti!
T3tra
Newbie
 
Post: 3
Iscritto il: 23/02/14 16:48

Re: [Excel] Inserimento dati con user form

Postdi Lale20876 » 02/02/15 12:33

Buongiorno,

torno su questo argomento di un anno fa perché sono interessato a questo "form" da compilare per riempire una tabella.
Ho seguito le istruzioni già descritte, e ho creato la macro che copia e incolla i dati nella tabella sottostante. Ho però un paio di richieste: innanzitutto non trovo il comando che permette di accodare i nuovi record a quelli precedenti... poi avrei bisogno di impostare uno dei campi come "obbligatori" ma senza restrizioni: le persone alle quali è destinato il foglio dovranno inserire il loro nome e cognome, quindi non posso impostare un numero preciso di lettere per riempire il campo...
Ultima richiesta: in caso di errore, come potrei far eliminare un record senza che possano "modificare" gli altri campi?

Grazie mille per l'aiuto. Spero di poter ricambiare in qualche modo...

Ale
Lale20876
Newbie
 
Post: 1
Iscritto il: 02/02/15 12:29

Re: [Excel] Inserimento dati con user form

Postdi ricky53 » 02/02/15 14:34

Ciao,
è preferibile che tu inserisca la tua richiesta in un NUOVO quesito perchè questa discussione è ferma da diversi mesi ... o meglio mancano pochi giorni ad un anno.
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia


Torna a Applicazioni Office Windows


Topic correlati a "[Excel] Inserimento dati con user form":


Chi c’è in linea

Visitano il forum: Nessuno e 84 ospiti