| | Post: 2 | Registrato il: 22/02/2018
| Città: FORLI' | Età: 48 | Utente Junior | 2013 | | OFFLINE | |
|
22/02/2018 17:45 | |
Ciao, nella cella excel A1 ho copiato una lunga lista di indirizzi mail, ogni indirizzo email è separato da ";". Ho bisogno di creare una colonna dove in ogni riga ci sia un solo indirizzo. Mi potete dire che formula dovrei usare? Uso excel 2013.Grazie |
|
| | Post: 3.655 | Registrato il: 21/06/2013
| Città: NAPOLI | Età: 70 | Utente Master | Excel 365 | | ONLINE |
|
22/02/2018 18:12 | |
Ciao FCuratola
Non avendo un file di esempio con i dati e il risultato che vuoi ottenere è difficile rispondere con certezza.
Comunque con una macro di questo tipo
vb Sub SuddividiMail()
Dim txt As String
Dim i As Integer
Dim fullname As Variant
txt = ActiveCell.Value
fullname = Split(txt, ";")
For i = 0 To UBound(fullname)
Cells(ActiveCell.Row, i + 1).Value = fullname(i)
Next i
End Sub
Suddividi il contenuto della cella attiva (in base al ";") sulla stessa riga sulle colonne seguenti.
Comunque se alleghi un file con il risultato desiderato è meglio.
Alfredo |
| | Post: 2.058 | Registrato il: 21/03/2008
| Città: LOCATE VARESINO | Età: 76 | Utente Veteran | 2007 / 13 | | OFFLINE | |
|
22/02/2018 18:31 | |
ciao
visto che Alfredo ( ciao ) ti a passato gia' una sub() o macro
ti posto le formule in excel per questo lavoro
PS Piu' comodo il VBA
in B1
=ANNULLA.SPAZI(SINISTRA(A1;TROVA(";";A1;1)-1))
in B2
=SE.ERRORE(ANNULLA.SPAZI(SINISTRA(STRINGA.ESTRAI($A$1;TROVA("@";SOSTITUISCI($A$1;";";"@";RIF.RIGA(A1));1)+1;10000);TROVA(";";STRINGA.ESTRAI($A$1;TROVA("@";SOSTITUISCI($A$1;";";"@";RIF.RIGA(A1));1)+1;10000);1)-1));"")
e trascini in giu'
[Modificato da locatevaresino 22/02/2018 18:32] Ciao da locate
excel 2007 / 13 |
| | Post: 3.656 | Registrato il: 21/06/2013
| Città: NAPOLI | Età: 70 | Utente Master | Excel 365 | | ONLINE |
|
22/02/2018 18:36 | |
Ciao FCuratola.
Intanto saluto Locate
Rileggendo meglio la tua richiesta penso che questa macro sia migliore della precedente perché suddivide in un un'unica colonna gli indirizzi
vb Sub SuddividiMail()
Dim txt As String
Dim i As Integer
Dim fullname As Variant
Dim ur As Long
txt = ActiveCell.Value
fullname = Split(txt, ";")
For i = 0 To UBound(fullname)
ur = Cells(Rows.Count, "D").End(xlUp).Row
Cells(ur + 1, "d").Value = fullname(i)
Next i
End Sub
Comunque sarebbe meglio vedere il file che devi elaborare.
Alfredo |
| | Post: 1.821 | Registrato il: 06/04/2013
| Utente Veteran | 2010 | | OFFLINE |
|
23/02/2018 13:36 | |
Ciao
solo per didattica, ricordo l'uso della funzione transpose:
Sub SplitOrizz()
Dim xRet As Variant, fRg As Range, dRg As Range
Set fRg = Range("A1")
Set dRg = Range("G1")
xRet = Split(fRg.Value, ";")
Range(dRg, dRg.Offset(UBound(xRet, 1), 0)) = Application.WorksheetFunction.Transpose(xRet)
End Sub
Saluti
[Modificato da dodo47 23/02/2018 13:40] Domenico
Win 10 - Excel 2016 |
| | Post: 2 | Registrato il: 22/02/2018
| Città: FORLI' | Età: 48 | Utente Junior | 2013 | | OFFLINE | |
|
25/02/2018 18:53 | |
indirizzi mail da dividere in più celle Ciao,
grazie per le risposte ma ho bisogno di una formula excel e non di una macro (che non so usare).
Locatevaresimo, ho utilizzato le tue formule excel ma forse ho sbagliato qualcosa visto che non ho ottenuto quello che volevo.
Allego il file di esempio, non posso mettere i veri indirizzi email per questione di privacy. Ripeto quello che mi serve : ho tutti gli indirizzi mail in una unica cella e separati da ";" (vedi cella A1), invece ne devo avere uno in ogni cella a formare una unica colonna, gli indirizzi sono centinaia.
Nel file excel trovate l'esempio: 3 indirizzi mail falsi, nella colonna B ho inserito le formule excel di Locatevaresino, ma è corretto solo il primo risultato, gli altri sono parziali come vedete. Il risultato che devo ottenere lo trovate nella colonna "H". Mi potete dire le formule excel che mi aiuta ad avere il risultato che chiedo? Grazie!
ps per errore ho allegato lo stesso file 2 volte, scusate |
| | Post: 3.188 | Registrato il: 28/06/2011
| Città: AGORDO | Età: 70 | Utente Master | 2013 | | OFFLINE | |
|
25/02/2018 20:29 | |
Ciao a tutti
Metti in A2 =STRINGA.ESTRAI(A1;RICERCA(";";A1;1)+1;LUNGHEZZA(A1))
Adesso trascini in basso la formula... quando avrà finito le mail appare #VALORE!
Ora trascina la formula in cella B1 (in colonna B le mail) Excel 2013 |
| | Post: 3 | Registrato il: 22/02/2018
| Città: FORLI' | Età: 48 | Utente Junior | 2013 | | OFFLINE | |
|
26/02/2018 11:59 | |
indirizzi mail da dividere in più celle Ciao Raffaele 1953,
ho usato la tua formula ma non ottengo il risultato voluto, come vedi nelle celle A2 e B2 (foggio 2) ci sono 2 indirizzi mail e non uno (che dovrebbe essere il secondo della lista). Nella colonna "H" il risultato desiderato. Mi potete aiutare? Allego il file (nel foglio 2 la formula suggerita da Raffaele 1953. Grazie |
| | Post: 3.193 | Registrato il: 28/06/2011
| Città: AGORDO | Età: 70 | Utente Master | 2013 | | OFFLINE | |
|
26/02/2018 13:32 | |
>>>Ora trascina la formula in cella B1 (in colonna B le mail)
Ho scritto male...vai in B1 e trascina la formula già esistente
In B1, c'era gia la formula suggerita da locatevaresino
=ANNULLA.SPAZI(SINISTRA(A1;TROVA(";";A1;1)-1)) [Modificato da raffaele1953 26/02/2018 13:34] Excel 2013 |
|
|