› Sviluppare funzionalita su Microsoft Office con VBA › trovare il codice fiscale
-
AutoreArticoli
-
Buongiorno. Applicativo Excel. Ho due fogli pazienti e anagrafico. Quando scrivo sulla colonna a del foglio pazienti il codice fiscale il sistema dovrebbe verificare se è esistente sul foglio anagrafico. Se esistente il cursore si dovrebbe posizionare sulla cella libera della colonna b accanto al codice fiscale scritto. se non esistente il sistema si dovrebbe posizionare sulla prima cella libera della colonna a per poi scrivere il codice fiscale nuovo e altri dati. Spero di non aver chiesto una cosa difficile. Distinti saluti. Vi ringrazio per avermi ascoltato.
Non è difficile però ti servono due righe di codice VBA. A che livello di confidenza sei messo con questo aspetto dell'utilizzo di Excel?
Nel foglio di inserimento del codice fiscale intercetti la modifica della colonna appropriata. La macro cerca tale valore nella scheda di anagrafica. A questo punto segue una delle due opzioni che hai compiutamente descritto.
Scriverti il codice è semplice ma devi assicurarti di essere in grado di padroneggiarlo per eventualmente adattarlo alle tue esigenze non solo attuali ma anche future.
Se vuoi intraprendere questa strada, allega un pezzo di file con lo scenario reale (dati fittizi se vuoi ma la struttura deve essere quella d'uso).
Qualche rudimento di vba c'è l'ho. Ma non in questo caso. Comunque individuato il codice so gestirlo.
allega un pezzo di file con lo scenario reale (dati fittizi se vuoi ma la struttura deve essere quella d'uso).
Mi autocito
Ti ho inviato l'esempio Buona giornata
Allegati:
You must be logged in to view attached files.io procederei cosi:
nel foglio "anagrafico" settere il range di ricerca(range"a2:ultimacella")
una volta che digito il Codice fiscale nel foglio"pazienti" selezione il foglio"anagrafico" e cerco il codicefiscale digitato, se lo trovo seleziono la cella attiva del foglio"paziente" spostandomi(offsett) di una colonna, altrimenti seleziono l'utima riga libera del foglio"anagrafico" colonna A.
Qual è il punto di avere gusti diversi, se non mostrare che i cervelli lavorano diversamente, che pensiamo diversamente? ( Alan Turing)
Sempre il mare, uomo libero, amerai!
( Charles Baudelaire )io procederei cosi:
Sembra corretto. Naturalmente lo faresti via VBA quindi il foglio deve diventare xlsm e vanno attivate le macro.

copia il codice che ti posto nell'editor del foglio"pazienti"
Option Explicit Private Sub Worksheet_Change(ByVal Target As Range) Static i As Integer Dim Shpazientiultimariga As Integer, Shanagraficoultimariga As Integer Dim Shpazienti As Worksheet Dim Shanagrafico As Worksheet Dim Rnganagrafico As Range Set Shpazienti = Sheets("pazienti") Set Shanagrafico = Sheets("anagrafico") Shpazientiultimariga = Shpazienti.Cells(Rows.Count, 1).End(xlUp).Row Shanagraficoultimariga = Shanagrafico.Cells(Rows.Count, 1).End(xlUp).Row If Intersect(Target, Range("a2:a" & Shpazientiultimariga)) Is Nothing Then Exit Sub Shanagrafico.Select Set Rnganagrafico = Shanagrafico.Range("a2:a" & Shanagraficoultimariga).Find(Target) If Rnganagrafico Is Nothing Then MsgBox "non esiste" Shanagrafico.Cells(Shanagraficoultimariga + 1, 1).Select Else MsgBox Rnganagrafico.Address Shpazienti.Select ' End If End Subdovrebbe fare quello che hai chiesto.
Qual è il punto di avere gusti diversi, se non mostrare che i cervelli lavorano diversamente, che pensiamo diversamente? ( Alan Turing)
Sempre il mare, uomo libero, amerai!
( Charles Baudelaire )Ciao albatros,
sempre sul pezzo 🙂 Direi che funonzia come richiesto. La variabile Static i è naturalmente superflua, un refuso e infatti non viene utilizzata.
Per effetto delle formule inserite da OP (non avrei utilizzato CERCA.VERT ma è una mia mania, io ho la fissa per INDICE e CONFRONTA) è curioso che se in foglio Pazienti si digita "Codice Fiscale", Excel ti segnala giustamente che non esiste (merito del codice di albatros) ma poi senza battere ciglio ricopia l'intestazione (cognome, nome, data di nascita, ecc.) perché giustamente lo vede come un inserimento e quindi CERCA.VERT fa il su dovere 🙂
Perfetto! vi ringrazio immensamente.
Perfetto grazie
Buongiorno torno a disturbare, si può inserire un'ulteriore aiutino ovvero il codice fiscale digitato su pazienti che non è presente su anagrafica lo si può ricopiare sull'anagrafica? Grazie ancora della vostra cortesia.
Nel codice postato in precedenza sostituisci la riga :
Shanagrafico.Cells(Shanagraficoultimariga + 1, 1).Selectcon
Shanagrafico.Cells(Shanagraficoultimariga + 1, 1) = TargetQual è il punto di avere gusti diversi, se non mostrare che i cervelli lavorano diversamente, che pensiamo diversamente? ( Alan Turing)
Sempre il mare, uomo libero, amerai!
( Charles Baudelaire ) -
AutoreArticoli
