Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

scompattare txt in foglio excel

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

scompattare txt in foglio excel

Postdi femon » 07/04/17 14:22

Salve a tutti,
avrei bisogno di una mano per riuscire a “scompattare” un foglio .txt in un foglio excel in colonne.
In particolare il foglio txt sarebbe formato da circa 1000 righe e ogni riga fino alla colonna 483 (anche con alcuni spazi bianchi).
Ho un foglio excel con descritto come sarebbero formate le colonne:
es:
colonna COGNOME: dalla colonna 1 alla colonna 10 del foglio txt
colonna NOME: dalla colonna 11 alla colonna 20 del foglio txt
colonna INDIRIZZO: dalla colonna 21 alla colonna 40 del foglio txt
ecc.
ecc.
fino ad arrivare alla colonna EMAIL: dalla colonna 451 alla colonna 483 del foglio txt.
Secondo voi è possibile automatizzare il tutto con una macro che legge dal foglio excel la composizione delle colonne, prende i dati dal foglio txt e me li scompatta in colonne in un nuovo foglio excel?
Grazie per l’aiuto.
Federico. (Excel 2013).
P.S. avevo già provato con la conversione guidata ma mi risulta troppo lungo identificare circa 130 colonne e poi il lavoro dovrei ripeterlo più volte...
femon
Utente Senior
 
Post: 101
Iscritto il: 12/03/14 18:51

Sponsor
 

Re: scompattare txt in foglio excel

Postdi wallace&gromit » 07/04/17 14:57

Il problema non è chiaro: cosa significa colonna in un file .txt?
Come mai dati all'apparenza così semplici occupano 483 colonne?
Office2016 + 2019 su win10
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2054
Iscritto il: 16/01/12 14:21

Re: scompattare txt in foglio excel

Postdi patel » 07/04/17 17:07

metti un link a uno zip con piccoli file di esempio di testo e xls corrispondente
patel
Utente Senior
 
Post: 309
Iscritto il: 24/04/12 16:03

Re: scompattare txt in foglio excel

Postdi femon » 07/04/17 18:39

Grazie del vostro aiuto, scusate la confusione cercherò di essere più chiaro:
il file txt (che vi allego) è un foglio con dei dati i quali caratteri occupano uno spazio derivante dall'incrocio di linee (o righe) e colonne. Mi spiego se posizionate il cursore all'interno del foglio txt esso sarà in un punto preciso con coordinate linea "x" e colonna "y".
Il mio foglio txt avrà dunque numero di righe (o linee) di volta in volta variabili (nell'allegato ne ho inserite 9) e numero di colonne 483.
Per poter leggere questo file, ho necessità di suddividerlo in colonne excel (vedi file excel "elenco colonne") secondo lo schema indicato che mi specifica il titolo della colonna e i rispettivi campi del foglio txt da cui estrarli...
Non so se sono stato sufficientemente chiaro...
Grazie.
Federico
https://www.dropbox.com/s/z7axxe0lat79n ... .xlsx?dl=0
https://www.dropbox.com/s/1kxhohizvydbk ... t.txt?dl=0
femon
Utente Senior
 
Post: 101
Iscritto il: 12/03/14 18:51

Re: scompattare txt in foglio excel

Postdi patel » 07/04/17 20:02

Apri il registratore di macro, apri il file di testo, scegli campi fissi, inserisci tutti i separatori, OK, chiudi il registratore e troverai la macro pronta, più o meno come questa
Codice: Seleziona tutto
    Workbooks.OpenText Filename:="F:\Download\file txt.txt", Origin:=xlWindows _
        , StartRow:=1, DataType:=xlFixedWidth, FieldInfo:=Array(Array(0, 1), Array( _
        6, 1), Array(8, 1), Array(12, 1), Array(18, 1), Array(191, 1), Array(258, 1), Array(32, 1), _
 
patel
Utente Senior
 
Post: 309
Iscritto il: 24/04/12 16:03

Re: scompattare txt in foglio excel

Postdi femon » 07/04/17 20:37

Grazie Patel,
la tua soluzione potrebbe andar bene ma solo per 1 volta, il problema è che dovrei rifarlo quasi ogni volta perchè potrebbero cambiarmi le posizioni delle colonne e dunque non mi si aprirebbe correttamente.
Se invece in qualche modo la macro mi leggesse le posizioni delle colonne dallo schema del foglio excel, dovrei solo aggiornare quei valori prima di farla eseguire...
Grazie ancora,
Federico.
femon
Utente Senior
 
Post: 101
Iscritto il: 12/03/14 18:51

Re: scompattare txt in foglio excel

Postdi patel » 08/04/17 07:15

adegua la tabella alla macro e al posto dei numeri metti l'indirizzo della cella in questo modo
Codice: Seleziona tutto
    FieldInfo:=Array(Array(range("B3", 1), Array( range("B4", 1)........
patel
Utente Senior
 
Post: 309
Iscritto il: 24/04/12 16:03

Re: scompattare txt in foglio excel

Postdi femon » 09/04/17 09:34

Grazie Patel,
ieri ho provato il tuo suggerimento ma mi va in debug o addirittura mi crascia....
Forse sbaglio qualcosa nella sintassi.....?
Comunque continuo a riprovare.
Se riesco ti faccio sapere.
Grazie e buona domenica.
femon
Utente Senior
 
Post: 101
Iscritto il: 12/03/14 18:51

Re: scompattare txt in foglio excel

Postdi patel » 09/04/17 12:12

nella tabella con i campi ti serve solo la colonna B e poi
Codice: Seleziona tutto
 Workbooks.OpenText Filename:="F:\Download\file txt.txt", Origin:=xlWindows, StartRow:=1, DataType:=xlFixedWidth, FieldInfo:=Array(Array(Range("B3"), 1), Array(Range("B3"), 1), Array(Range("B5"), 1), Array(Range("B6"), 1), Array(Range("B7"), 1), Array(Range("B8"), 1) .....
patel
Utente Senior
 
Post: 309
Iscritto il: 24/04/12 16:03

Re: scompattare txt in foglio excel

Postdi femon » 09/04/17 19:33

Ottimo Patel,
funziona tutto bene. C'era un problema di un po' di parentesi in più o in meno....
Grazie mille, mi hai dato una grossa mano.
Ne approfitto per augurarti una Buona Pasqua.
Federico.
femon
Utente Senior
 
Post: 101
Iscritto il: 12/03/14 18:51


Torna a Applicazioni Office Windows


Topic correlati a "scompattare txt in foglio excel":


Chi c’è in linea

Visitano il forum: Nessuno e 43 ospiti