Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

[Excel] Macro Importa Dati da File di txt

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

[Excel] Macro Importa Dati da File di txt

Postdi paaz » 22/04/11 14:35

Salve a tutti,
sto impazzendo ormai da giorni nel capire il perchè non riesco ad adattare la macro che di seguito riporterò, per importare un qualsiasi file di txt. In pratica io vorrei che mi si aprisse la finestra per scegliere il file di txt da importare anche perchè questa macro mi serve trasformare un file di testo "quotidiano" in file excel.

La macro è questa
Sub importadati()

With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;O:\Risk Controlling\Report\Liquidità\titoli procedura\22 aprile.TXT", _
Destination:=Range("A1"))
.Name = "22 aprile"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 1252
.TextFileStartRow = 1
.TextFileParseType = xlFixedWidth
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
.TextFileFixedColumnWidths = Array(3, 7, 9, 22, 2, 23, 22, 22, 22)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
End Sub

Inoltre vorrei avere la possibilità di creare la macro in un unico file excel su cui lavorare, magari con una soluzione di tipo "aggiorna dati" per reimportare i dati da un nuovo file di txt, oppure potendo scegliere il file da importare ad ogni apertura del file excel.

Grazie
paaz
Utente Junior
 
Post: 30
Iscritto il: 22/04/11 14:24

Sponsor
 

Re: [Excel] Macro Importa Dati da File di txt

Postdi Zoro76 » 22/04/11 14:51

Io utilizzo questa. Prova a vedere se ti può essere utile.
Codice: Seleziona tutto
Sub ScegliFile()

Dim sh1 As Worksheet

With ThisWorkbook
        Set sh1 = .Worksheets("FILE_txt")
End With

With Application.FileDialog(msoFileDialogFilePicker)
        .AllowMultiSelect = False
        .Filters.Clear
        .Filters.Add "All files", "*.*"
        .Filters.Add "text", "*.txt", 1
        .Show

     If .SelectedItems.Count = 0 Then
     MsgBox ("Nessuna voce selezionata, procedura annullata")
     GoTo Esci
     End If
     FullNome = .SelectedItems(1)     'Directory e Nome del file selezionato
    End With
Esci:

With sh1.QueryTables.Add(Connection:="TEXT;" & FullNome, Destination:=sh1.Range("A1"))
End With
   
    With sh1.QueryTables.Add(Connection:= _
        "TEXT;" & FullNome _
        , Destination:=sh1.Range("$A$1"))
        .Name = "lybk_1"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .TextFilePromptOnRefresh = False
        .TextFilePlatform = 437
        .TextFileStartRow = 1
        .TextFileParseType = xlDelimited
        .TextFileTextQualifier = xlTextQualifierSingleQuote
        .TextFileConsecutiveDelimiter = True
        .TextFileTabDelimiter = True
        .TextFileSemicolonDelimiter = True
        .TextFileCommaDelimiter = True
        .TextFileSpaceDelimiter = True
        .TextFileOtherDelimiter = ";"
        .TextFileColumnDataTypes = Array(1, 1, 1, 1, 1)
        .TextFileTrailingMinusNumbers = True
        .Refresh BackgroundQuery:=False
    End With
End Sub
Zoro76
Utente Junior
 
Post: 95
Iscritto il: 10/03/10 10:55

Re: [Excel] Macro Importa Dati da File di txt

Postdi paaz » 22/04/11 15:06

Ho provato la tua soluzione, mi rileva errore in questa parte di macro

With sh1.QueryTables.Add(Connection:= _
"TEXT;" & FullNome _
, Destination:=sh1.
Range("$A$1"))


"errore di sintassi"
paaz
Utente Junior
 
Post: 30
Iscritto il: 22/04/11 14:24

Re: [Excel] Macro Importa Dati da File di txt

Postdi Zoro76 » 22/04/11 15:14

Credo sia per via di questa riga

Set sh1 = .Worksheets("FILE_txt")

Praticamente io ho chiamato il mio foglio FILE_txt

dovresti cambiare il nome con il tuo (magari "Foglio1")
Zoro76
Utente Junior
 
Post: 95
Iscritto il: 10/03/10 10:55

Re: [Excel] Macro Importa Dati da File di txt

Postdi paaz » 26/04/11 10:33

Finalmente funziona tuto. Per l'aggiornamento automatico ho pensato di inserire un pulsante assegnandogli la macro appena prodotta.

Grazie Zoro
paaz
Utente Junior
 
Post: 30
Iscritto il: 22/04/11 14:24

Re: [Excel] Macro Importa Dati da File di txt

Postdi Zoro76 » 05/05/11 08:13

Figurati. Ciao
Zoro76
Utente Junior
 
Post: 95
Iscritto il: 10/03/10 10:55

Re: [Excel] Macro Importa Dati da File di txt

Postdi dottchris » 12/03/15 09:04

Ciao a tutti e scusatema ma....io mastico poco di VBA ma mi servirebbe una macro per questa funzione.

Praticamente in un unico foglio excel di destinazione dovrei importare, da altri file xls chiusi e con la stessa struttura, i dati (semplice copia e incolla). I dati nei file chiusi sono tutti in colonna A quindi dovrei copiare la colonna A di tutti questi file e copiarli nelle colonne del file di destinazione ( possibilmente in colonne affiancate).
Oltretutto i file da importare sono in sottocartelle ( molto sotto :D ) e i file da aprire sono i “report.txt”.
Diciamo che l’unica cartella che non cambia mai è C:\HPCHEM\1\DATA\ mentre le altre cambiano ( anno, mese, giorno)
ES: C:\HPCHEM\1\DATA\2015\MAR15\1003TPH3\000108-10032015-001-C10ST\LCS011.D\report.xls
Spero di essermi spiegato… ;)
Che dite si può fare? Grazie mille anticipatamente
dottchris
Newbie
 
Post: 5
Iscritto il: 12/03/15 08:54

Re: [Excel] Macro Importa Dati da File di txt

Postdi ricky53 » 12/03/15 12:36

Ciao,
benvenuto nel nostro forum.

Non ci si deve accodare a quesiti di altri utenti, specialmente se sono di molto tempo fa.

E' preferibile che tu inserisca il tuo quesito in una nuova discussione.
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: [Excel] Macro Importa Dati da File di txt

Postdi dottchris » 12/03/15 15:07

ricky53 ha scritto:Ciao,
benvenuto nel nostro forum.

Non ci si deve accodare a quesiti di altri utenti, specialmente se sono di molto tempo fa.

E' preferibile che tu inserisca il tuo quesito in una nuova discussione.

OPS :oops: :oops: :oops: :oops: scuate e grazie!!! Provvedo subito!
dottchris
Newbie
 
Post: 5
Iscritto il: 12/03/15 08:54


Torna a Applicazioni Office Windows


Topic correlati a "[Excel] Macro Importa Dati da File di txt":


Chi c’è in linea

Visitano il forum: Nessuno e 5 ospiti