Ho una serie di circa 10000 righe di stringe di testo di lunghezza variabile
in A1 che dovrei formattare come da esempio sottostante.
Ho provato con "Stringa.Estrai" e la funzione "Destra", ma riesco
correttamente a fare la prima colonna e l'ultima.
C'è un modo per poter risolvere il quesito.
Abruzzo (PE) MONTESILVANO V. ROMA 4.350 750 175
Abruzzo (PE) MOSCUFO P.ZZA PRINCIPE UMBERTO 325 100 50
Abruzzo (PE) NOCCIANO L.GO MADONNA DEL PIANO S.N. 225 50 50
Abruzzo (PE) PENNE P.ZZA LUCA DA PENNE 1.100 200 50
Abruzzo (PE) PESCARA P.ZZA ITALIA n. 1 12.000 3.250 1.200
Regione (Prov.) | Comune | Indirizzo |
Totale | Parte_1 | Parte_2
Abruzzo (PE) MONTESILVANO V. ROMA 4350 750 175
Abruzzo (PE) MOSCUFO P.ZZA PRINCIPE UMBERTO 325 100 50
Abruzzo (PE) NOCCIANO L.GO MADONNA DEL PIANO 225 50 50Abruzzo
(PE) PENNE P.ZZA LUCA DA PENNE 1100 200 50
Abruzzo (PE) PESCARA P.ZZA ITALIA n. 1 12000
3250 1200
Ringrazio della Vs disponibilità e saluto.
JohnB
Ciao Jonny.
Con Stringa.Estrai, se i dati fossero omogenei, potresti tentare di
usare il Trova cercando il carattere "spazio" per ottenere la
divisione della stringa nei singoli componenti. Ad esempio:
B1:=STRINGA.ESTRAI(A1;TROVA(" ";A1;TROVA(" ";A1)+1)+1;255) ti trova la
posizione del secondo spazio, e così via.
Disgraziatamente le caratteristiche del tuo indirizzo (e la mia
ignoranza in merito) non si prestano allo scopo, per cui prova questa
macro artigianale che, almeno con i dati da te riportati sembra
funzionare.
Public Sub provanagrafico()
Dim CL As Object
Dim RNG As Range
Dim B() As String
Dim indir As String
Dim X As Long
Sheets("Foglio1").Select
Set RNG = Range("a2:a10") ' <----- da variare
For Each CL In RNG
If CL.Value = "" Then Exit Sub
indir = ""
B = Split(CL, " ")
CL.Offset(0, 1).Value = B(0) & " " & B(1)
CL.Offset(0, 2).Value = B(2)
CL.Offset(0, 4).Value = Replace(B(UBound(B) - 2), ".", ",")
CL.Offset(0, 5).Value = Replace(B(UBound(B) - 1), ".", ",")
CL.Offset(0, 6).Value = Replace(B(UBound(B)), ".", ",")
For X = 3 To UBound(B) - 3
indir = indir & B(X) & " "
Next
CL.Offset(0, 3).Value = indir
Next CL
End Sub
Saluti
Eliano
Grazie ancora e buona giornata
Ciao
JohnB
Grazie del riscontro Jonny.
Un amico, tendenzialmente gay, soleva dire:"Nessuno nasce
imparato". :-))
Hai Excel con le sue guide in linea, hai a disposizione l'archivio di
questo NG e Google per cercare argomenti utili, quindi comincia a
farti una cultura ed a scrivere qualcosa.
Alla fine, per male che ti vada, scriverai delle routines simili a
quelle che scrivo io. :-))
Saluti
Eliano