Macro troncamento stringa
Hai un problema con Excel? 
Macro troncamento stringa
di Simone (utente non iscritto) data: 24/03/2015 18:05:26
Salve a tutti.
Vi chiedo aiuto perché non riesco a capire come risolvere questo mio problema..
nel mio foglio, nella colonna B, ho una serie di stringhe molto lunghe (circa 500 righe); attraverso una macro pensavo di effettuare un controllo sui caratteri contenuti dalle singole stringhe, e le stringhe contenenti il carattere "(" dovrei troncarla proprio in corrispondenza del carattere antecedente al "("..
quindi pensavo ad un ciclo for per scorrere tutte le righe della colonna, all'interno un ciclo if che controlli la presenza o meno del carattere "(" e infine, se la condizione è valida, troncare la stringa prima del carattere "("..
il mio problema è che non riesco a scrivere correttamente la sintassi delle istruzioni, e non ho le idee ben chiare su quali funzioni usare..
ringrazio già chiunque mi possa dare una mano
di Lucas87 data: 24/03/2015 18:27:27
Ciao
L'istruzioni Instr()
cerca il carattere indicato e ne restituisce la posizione nella stringa.
Con Left poi estrai solo la parte a sinistra
pos=instr(1,cells(i,1),"(")
If pos>0 then
cells(i,2)=left(cells(i,1),pos-1)
end if |
di alfrimpa data: 24/03/2015 18:29:41
Ciao Simone
Ma il carattere "(" è unico?
Se è così puoi risolvere (senza macro) con la funzione TROVA() che ti restituisce la posizione del carattere da utilizzare come parametro della funzione STRINGA.ESTRAI()
Qualcosa del tipo = =STRINGA.ESTRAI(A1;1;TROVA("(";A1;1)-1) ovviamente da "calibrare in base alla "struttura" dei tuoi testi.
Alfredo
di alfrimpa data: 24/03/2015 18:36:01
Ovviamente in luogo di STRINGA.ESTRAI() si può usare anche la funzione SINISTRA() come ha fatto Lucas87 (che saluto) in VBA.
Alfredo
di Vecchio Frac data: 24/03/2015 20:33:05
Io con VBA avrei scelto e suggerito di utilizzare Split ^_^
Vuoi Approfondire?