Dividere testo di una cella
Hai un problema con Excel? 
Dividere testo di una cella
di Massimo (utente non iscritto) data: 14/03/2013 21:50:06
Ciao e complimenti per questo fantastico forum
Come da titolo ho un'esigenza quotidiana in quanto scarico tramite un query web dei dati da inserire nel mio ecommerce
Il dato e questo : 205/55R16 MICHELIN PRIMACY 3 91V
Viene scaricato nella cella B2
A me servirebbe un'automatismo vba, evitando la funzione testo in colonne, che mi dividesse in questo modo la cella b2
Nella cella C3 : MICHELIN 205/55R16 PRIMACY 3 91V
Nella cella d3 : 205
Nella cella e3 : 55
Nella cella f3 : 16
Nella cella g3 : V
Grazie
di Textomb data: 15/03/2013 00:13:20
prova così...
inserisci questa routine in un modulo nuovo e poi la lanci...
Sub WebGomme()
' creo tre variabili matrici prima le riempio e poi le scompongo per come mi serve...
Dim V() As String, Vb() As String, Vr() As String
V = Split([b2], " ")
Vb = Split(V(0), "/")
Vr = Split(Vb(1), "R")
[d3] = Vb(0)
[e3] = Vr(0)
[f3] = Vr(1)
[g3] = Right([b2], 1)
V(0) = V(1)
V(1) = Join(Vb, "/")
[c3] = Join(V, " ")
End Sub
|
di massimo (utente non iscritto) data: 15/03/2013 11:46:29
ciao, grazie funziona tutto molto bene, ho provato a modificare il codice perchè non mi separa l'indice di velocita, la lettera V
GRAZIE
di Textomb data: 15/03/2013 12:01:11
strano...
l'istruzione per estrarre l'indice di velocità è quella che ti ho dato...
[g3]=Right([b2],1)
Tranne che esiste uno spazio vuoto nella cella b2... Non l'avevo previsto.
Allora dovresti fare così.
Aggiungi questa istruzione subito dopo la dichiarazione delle variabili (seconda riga).
[b2] = Trim([b2])
e vedrai che funzionerà tutto.
Fammi sapere...
di Vecchio Frac data: 15/03/2013 13:55:07
Ottimo codice Textomb ^_^
...e anche la soluzione finale.
di massimo (utente non iscritto) data: 15/03/2013 17:15:04
ciao, sei stato molto gentile e bravissimo...grazie ancora...
mi piacerebbe, se puoi e hai il tempo, la spiegazione per ogni riga del codice per capire come lavora il codice..
ps: se avete bisogno di pneumatici....sai dove trovarmi
GRAZIE ANCORA.
Massimo
di Textomb (utente non iscritto) data: 15/03/2013 19:10:52
@VF
grazie mille... Vuol dire che le tue indicazioni hanno avuto il loro effetto.
@Massimo
ti riporto fedelmente il testo che avevo scritto sui miei appunti a proposito della funzione Split e Join...
La funzione Spilt è decisamente interessante! E spesso molto utile...
Il suo funzionamento è questo:
- abbiamo una stringa di partenza, posizionata supponiamo in A1
automobile, aereo, treno
- se imposti un codice di questo tipo
k = Split([A1], ",")
otterrai la matrice k() composta da tutte le sottostringhe separate dalla virgola, ovvero:
k(0)= "automobile"
k(1)= "aereo"
k(2)= "treno"
- quindi hai anche già assegnata automaticamente la posizione di ogni parola! Le matrici iniziano sempre dal valore 0. Per conoscere il numero delle parole trovate si usa la funzione "Ubound":
numero = Ubound(k)
che restituirà 2, ovvero l'indice massimo della matrice. Può essere interessante, per esempio, per ciclare i valori della matrice.
La funzione Join è esattamente in contrapposizione a Split.
Ovvero da una matrice vettore costruisce una stringa separata da un delimitatore non obbligatorio.
La sintassi è:
sia k() una matrice vettore con n elementi.
Quindi se
k(0)=”automobile”
k(1)= “aereo”
k(2)=”treno”
L’istruzione: String = Join(k, ", ") restituisce una stringa unica data da
Stringa=automobile, aereo, treno
Stringa rappresenta quindi l’unione degli n elementi della matrice separati dalla virgola “, “
Tutto il codice riportato nella tua routine può essere ripercorso con queste istruzioni.
P.S. Non è che un caso. Ma ho cambiato i pneumatici della mia macchina giusto la scorsa settimana. A saperlo prima...
ciao...
Vuoi Approfondire?