Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

distribuzione testo in più righe

Ultimo Aggiornamento: 26/02/2018 13:32
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
Vota: 15MediaObject5,0019 1
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Cerca nel forum
Tag discussione
Discussioni Simili   [vedi tutte]
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 16:15. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com