Un lettore ci chiede:
BuongiornoVorrei se possibile estrarre le date dalle seguenti stringhe
esempio
DESENZANO DEL GARDA (BS) 10.04.1986 N.186
SALO’ (BS) 15.02.1946 N.115
EXCEL 2007
Risposta:
La questione è abbastanza complicata utilizzando solo le formule Excel perché bisgna ricercare il pattern xx.xx.xxxx con “x” una cifra.
Ho quindi preparato una piccola funzione su misura che ricerca all’interno di un testo più lungo una parte con la struttura indicata (xx.xx.xxxx) e lo resituisce.
L’utilizzo della funzione è a dir poco banale:
nello stesso file di esempio che trovate qui sotto è disponibile la stessa funzionalità anche in versione MACRO per chi lo preferisse
Scarica il file di esempio: estrai_data
The following two tabs change content below.
Andrea Terzaghi
Geneva (CH)
Ingegnere, pellegrino del mondo e della conoscenza, curioso di tutto
Ultimi post di Andrea Terzaghi (vedi tutti)
- Refresh in the Website! - 28 Settembre 2017
- Word Cloud - 19 Ottobre 2016
- Extract data from an image or a PDF - 7 Luglio 2016
- Divertissement mathématique - 12 Maggio 2016
- IRPEF, Tasse, Sconti progressivi e sconti regressivi - 25 Aprile 2016
come posso scaricare questa funzione?
Salve. Prema ALT F11 per aprire l’editor vba. Selezioni il testo è con control C e control V lo sposti sul foglio di lavoro dove vuole utilizzarlo sempre nell’area modulo dell’editor vba.
Buongiorno, vorrei un consiglio:
sto realizzando uno scadenzario, che legge i nomi dei file con la funzione dir, in questi nomi c’è il formato data xx-xx-xxx, vorrei sapere come estrarla e scriverla in una colonna.
grazie mille
Sub EleFile()
Dim riga As Integer, fs As String
miapath = “C:\Users\Utente\Desktop\Assicurazioni\”
ChDir miapath
riga = 2
Columns(“A:A”).ClearContents
fs = Dir(“*.*”)
If fs = “” Then Exit Sub
While fs “”
riga = riga + 1
Cells(riga, 1) = fs
fs = Dir
Wend
End Sub
Sub EleFile2()
Dim riga As Integer, fs As String
miapath = “C:\Users\Utente\Desktop\xxxxx\”
ChDir miapath
riga = 2
Columns(“B:B”).ClearContents
fs = Dir(“*.*”)
If fs = “” Then Exit Sub
While fs “”
riga = riga + 1
Cells(riga, 2) = fs
fs = Dir
Wend
End Sub
Sub tuttemacro()
Call EleFile
Call EleFile2
End Sub
Buongiorno.
credo che la cosa piu’ semplice sia usare “testo in colonne” che è una funzione standard di excel.
E’ possibile separare un testo in più colonne semplicemente indicando quale e’ il “separatore” da usare.
Nel suo caso, ovviamente il separatore è il carattere “-”
A quel punto dovrebbe avre i dati su tre colonne separate e dovrebbe essere semplice manipolare ulteriomente l’informazione.
Buon giorno, Andrea. Molto interessante!
Le chiedo…. Ok 1 data nella STESSA stringa di testo. Come e`possibile trovare piu` date sempre in stessa stringa di testa. es.,…DESENZANO DEL GARDA (BS) 10.04.1986 N.186; DESENZANO DEL GARDA (BS) Riunione del 11.04.1986 Nr. 187; DESENZANO DEL GARDA (BS) Protocollo Nr. 188 del 12.04.1986; ecc.
Grazie 1000 .