| | Post: 2 | Registrato il: 11/11/2004
| Città: MONTE SANT'ANGELO | Età: 59 | Utente Junior | 2013 | | OFFLINE |
|
25/03/2018 03:49 | |
Salve ho provato a creare copiando da altri file un foglio excel per fare un inventario delle controvesie per un ufficio legale.
Con una userform, richiamata da un pulsante inserisci pratica, riesco ad inserire nella riga i dati necessari e poi via via in quelli successvi.
La cosa che vorrei che nella prima colonna non dovrei digitare il numero della pratica ma che il numero della fosse automaticamente progressivo.
Grazie.
llego il file |
|
| | Post: 3.278 | Registrato il: 28/06/2011
| Città: AGORDO | Età: 70 | Utente Master | 2013 | | OFFLINE | |
|
25/03/2018 06:18 | |
Ok, spirito giusto per iniziare a capire il VBA, alcuni suggerimenti per il futuro...
Dato che hai messo un bottone che fà partire "iNSERISCI_PRATICA", forse dovrai trovare la riga giusta per "Modifica_Pratica" ed "Elimina_Pratica"? Allora Ultima_riga servirebbe solo per immettere nuovi record.
In questo caso (il Foglio=2018...OK, e per l'anno prossimo?), forse meglio uno solo =DataBase
1) Le variabili (sono importanti, sono sempre differenti tra loro)
2) Non usare termini troppo lunghi, Ex xUltimaRiga=Ur, casomai servisse=Ur1, Ur2 ecc ecc
Inseriscilo nel VBA dell'userform e togli il VBA del CommandButton1_Click nell'userform vb Private Sub UserForm_Initialize()
Dim Ur As Long'variabile
Ur = ActiveSheet.Range("A" & Rows.Count).End(xlUp).Row + 1 'il bottone immesso lavora sul foglio attivo =ActiveSheet
txtnumero.Text = Ur
'ActiveSheet.Cells(Ur, 1) = txtnumero.Text 'sempre se desideri scriverlo sul foglio
End Sub [Modificato da raffaele1953 25/03/2018 07:19] Excel 2013 |
| | Post: 2 | Registrato il: 11/11/2004
| Città: MONTE SANT'ANGELO | Età: 59 | Utente Junior | 2013 | | OFFLINE |
|
25/03/2018 12:40 | |
Ti ringrazio di cuore per aver risposto.
Sono un ignorante con il codice VBA
Infatti come hai suggerito toglierò il 2018. faccio un foglio per tutte le controversie senza distinzione di anno. un solo database.
Il codice che hai postato funziona. L'unica cosa quando inserisco la prima pratica nella prima riga il numero inizia da 4 invece di 1.
Poi se devo inserire più pratiche senza chiudere l'userform il numero non lo inserisce. Devo quindi chiudere l'userform e poi aprire di nuovo. Sarebbe interessante non dover di volta in volta chiudere prima di inserire altre pratiche.
NOn so se posso approfittare per un'altra richiesta. Vorrei sostituire la casella di testo relativa ad AREA con una casella combinarta. Infatti in Area ci sono 5 materie da inserire di volta in volta: CIVILE, PENALE, AMMINISTRATIVO, LAVORO e TRIBUTARIO.
Certamente sarebbe interessante poter mettere altri due bottoni Modifica_Pratica" ed "Elimina_Pratica", ma come dicevo sono ignorante e quindi non sono capace.
Grazie [Modificato da giannifalk 25/03/2018 13:41] |
| | Post: 3.279 | Registrato il: 28/06/2011
| Città: AGORDO | Età: 70 | Utente Master | 2013 | | OFFLINE | |
|
25/03/2018 16:02 | |
Appena ho tempo, cerco di farlo...
Ps. Comunque come scritto sarebbe >>>Allora Ultima_riga servirebbe solo per immettere nuovi record.
Nel caso TUO il "Numero Pratica" sarebbe >>>Ur -2
Però ....Voglio ripensarci sul "Elimina_Pratica" Excel 2013 |
| | Post: 3.683 | Registrato il: 21/06/2013
| Città: NAPOLI | Età: 70 | Utente Master | Excel 365 | | OFFLINE |
|
25/03/2018 18:17 | |
Ciao Giannifalk
Qualora ti venisse voglia di studiare un po' e liberarti, quindi, dalla tua condizione di "ignoranza" ti segnalo due link: il primo è un corso (assai ben fatto) di VBA ed il secondo è una discussione presente su altro forum in cui si descrivono le interazioni tra userform e foglio dati.
http://forum.wintricks.it/showthread.php?t=155252-vba/
http://www.forumexcel.it/forum/51-imparando-excel-amp-vba-tutorial-di-excel/7320-popolare-userform-con-dati-di-una-tabella-ed-inserire-dati-in-un-altro-foglio [Modificato da alfrimpa 25/03/2018 18:18]
Alfredo |
| | Post: 3 | Registrato il: 11/11/2004
| Città: MONTE SANT'ANGELO | Età: 59 | Utente Junior | 2013 | | OFFLINE |
|
25/03/2018 18:18 | |
Grazie ho risolto inserendo -3
Per le altre attendo e ti ringrazio di cuore.
A presto.
|
| | Post: 4 | Registrato il: 11/11/2004
| Città: MONTE SANT'ANGELO | Età: 59 | Utente Junior | 2013 | | OFFLINE |
|
25/03/2018 18:25 | |
Grazie per i link. Cercherè di studiare. A volte il tempo è poco e spesso mi porto il lavoro a casa.
Giovanni [Modificato da giannifalk 25/03/2018 18:25] |
| | Post: 3.280 | Registrato il: 28/06/2011
| Città: AGORDO | Età: 70 | Utente Master | 2013 | | OFFLINE | |
|
26/03/2018 08:36 | |
Qualcosa non mi torna...
Una pratica si ricerca tramite un DATO univoco e non vedo nulla di simile nel file (ex nome-cognome).
Per adesso l'ho fatto sul Numero, mà dovrai trovare una soluzione migliore.
A riguardo "Eliminare", credo sia più giusto scrivere in colonna L = Eliminato Excel 2013 |
| | Post: 5 | Registrato il: 11/11/2004
| Città: MONTE SANT'ANGELO | Età: 59 | Utente Junior | 2013 | | OFFLINE |
|
26/03/2018 22:13 | |
Grazie di cuore raffaele1953. Sei fantastico!!1
Ho provato a cambiare il codice vba ma non ho risolto. Il dato che dici per la ricerca che mi può tornare utile è la ricerca per "controparte" invece che per numero. Ho provato a sostituire dove c'era txtnumero.Text
con txtcontroparte.Text, ma sotto ELSE è uscita una riga gialla.
Puoi aiutarmi ancora?
Per il resto tutto bene e ti ringrazio.
A presto! [Modificato da giannifalk 26/03/2018 22:21] |
| | Post: 3.282 | Registrato il: 28/06/2011
| Città: AGORDO | Età: 70 | Utente Master | 2013 | | OFFLINE | |
|
27/03/2018 13:58 | |
Sono sempre in fretta e furia. Stà a Te provarlo
Funziona con la Controparte che diventa UNIVOCO, pertanto annullo altre operazioni con la stessa Controparte Excel 2013 |
| | Post: 6 | Registrato il: 11/11/2004
| Città: MONTE SANT'ANGELO | Età: 59 | Utente Junior | 2013 | | OFFLINE |
|
27/03/2018 19:18 | |
raffaele1953, 27/03/2018 13.58:
Sono sempre in fretta e furia. Stà a Te provarlo
Funziona con la Controparte che diventa UNIVOCO, pertanto annullo altre operazioni con la stessa Controparte
Grandissimo!!!!!
Non so come ringraziarti.
Prometto che appena ho un pò di tempo mi metto a studiare.
Certamente studiare il codice vba è più divertente e da soddisfazioni. Per adesso devo riprendere gli studi giuridici, visto che sono stato trasferito all'ufficio legale.
Ultima cosa. Analizzando il codice vba dell'userform relativa alla ricerca della pratica prima di ELSE c'è:
Private Sub btncaricapratica_Click()
Dim Area As Range, Rrcerca As String, RA As Object
If txtnumero.Text = "numero?" Then
MsgBox "devi inserire un numero"
Questa parte posso eliminarla?
Grazie di cuore
[Modificato da giannifalk 27/03/2018 19:29] |
| | Post: 3.287 | Registrato il: 28/06/2011
| Città: AGORDO | Età: 70 | Utente Master | 2013 | | OFFLINE | |
|
27/03/2018 22:03 | |
If txtnumero.Text = "numero?" Then
MsgBox "devi inserire un numero"
No, devi sostituirle con queste
If txtcontroparte.Text = "Inserire Nome controparte?" Then
MsgBox "Devi inserire un nome della controparte" Excel 2013 |
| | Post: 7 | Registrato il: 11/11/2004
| Città: MONTE SANT'ANGELO | Età: 59 | Utente Junior | 2013 | | OFFLINE |
|
29/03/2018 21:21 | |
Sto usando il file excel e sto inserendo i dati delle controversie. Da solo sono riuscito a mettere un combobox non solo per l'area ma anche per il giudice. Però sto pensando ad un'altra cosa. Se si puo fare.
Quando faccio la ricerca per nome, devo inserire per forza tutto il nome. Ad Esempio, se ho inserito cognome e nome per la controparte, poi se faccio la ricerca devo per forza scrivere sia il cognome che il nome. Sarebbe interessante fare la ricerca solo scrivendo il cognome affinchè possa trovare la pratica. Altro problema nell'uso. Ci sono più controversie iniziate dalla stessa persona contro il Comune. Se cerco per nome mi da solo una pratica e non le altre con lo stesso nome. Non so se sono stato chiaro. Sono dettagli e chiedo scusa se pongo questi problemi. Già è tanto quello che mi avete dato e per questo vi ringrazio di cuore.
A presto! [Modificato da giannifalk 29/03/2018 21:25] |
| | Post: 3.297 | Registrato il: 28/06/2011
| Città: AGORDO | Età: 70 | Utente Master | 2013 | | OFFLINE | |
|
30/03/2018 11:27 | |
Come detto la ricerca và fatta su un dato "UNIVOCO"
Io non sò nulla di quanto fai, mà se la pratica ha un numero "questo è un dato UNIVOCO
Ha riguardo Cognomi e Giudice (non sono dati UNIVOCI)
Il tasto "RICERCA", potrebbe pure continuare la ricerca (se il primo trovato non fosse quello giusto)
Oppure la cella txtcontroparte, potrebbe farti vedere determinati Cognomi simili
Io ritorno al pensiero che solo una pratica=numero sia un dato "UNIVOCO" Excel 2013 |
|
|