Condividi:        

Da Report a Flat File

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

Da Report a Flat File

Postdi Ross72 » 21/06/16 10:44

Salve a tutti.
Ho la necessità di recuperare i dati presenti in diversi file excel, apparentemente tutti formattati con le stesse righe e colonne, in un unico flat file per poterlo poi utilizzare come database per le pivot.

Purtroppo i file hanno un lay-out tipo report con colonne e righe vuote utilizzate come separatori.
Mi potete aiutare con una macro che trasferisca, file per file, i dati in un unico elenco?

Grazie
Ciao
Ross72
Utente Junior
 
Post: 17
Iscritto il: 03/03/16 11:36

Sponsor
 

Re: Da Report a Flat File

Postdi alfrimpa » 21/06/16 11:32

Ciao Ross

Per poter provare quanto meno di tentare di far qualcosa dovresti allegare dei file di esempio per capirne la struttura e come vuoi che questi siano raggruppati nel file di riepilogo.
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 1201
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: Da Report a Flat File

Postdi Ross72 » 21/06/16 11:57

Ho preparato un file excel con due cartelle: la prima contiene il report, la seconda il flat file che vorrei ottenere.
Potete scaricale il file da quì: https://we.tl/rMmvjhPwDX

Grazie, ciao
Ross72
Utente Junior
 
Post: 17
Iscritto il: 03/03/16 11:36

Re: Da Report a Flat File

Postdi Ross72 » 21/06/16 12:32

dimenticavo, sarebbe preferibile avere il flat file separato che raccolga i dati da tutti i file "report" contenuti in una cartella
Ross72
Utente Junior
 
Post: 17
Iscritto il: 03/03/16 11:36

Re: Da Report a Flat File

Postdi Anthony47 » 22/06/16 00:35

I dati che ci mostri sicuramente sono stati prodotti partendo da dati come quelli che vuoi ottenere, quindi questo e' il classico lavoro inutile...
Comunque, guarda il file FLATZZZ.xslm che puoi scaricare qui: https://www.dropbox.com/s/0oc8ppxef21on ... .xlsm?dl=0

Contiene questa macro:
Codice: Seleziona tutto
Sub Servez()
'Vedi http://www.pc-facile.com/forum/viewtopic.php?f=26&t=107077
Dim sSh As Worksheet, I As Long, J As Long, myNext As Long
'
Set sSh = ActiveWorkbook.ActiveSheet
For I = 6 To sSh.Cells(Rows.Count, "B").End(xlUp).Row
    If Cells(I, 2).Value <> "" Then
        With Foglio1
            For J = 3 To 34 Step 3
                myNext = .Cells(Rows.Count, 2).End(xlUp).Row + 1
                .Cells(myNext, 1) = Cells(I, 2)
                If (Cells(I, J) + Cells(I, J + 1)) > 0 Then
                    .Cells(myNext, 2) = Cells(5, J).Cells(1, 1)
                    .Cells(myNext, 3) = Cells(6, J)
                    .Cells(myNext, 4) = Cells(I, J)
                    .Cells(myNext, 5) = Range("C3")
                    .Cells(myNext, 6) = Cells(I, 35)
'
                    .Cells(myNext + 1, 1) = Cells(I, 2)
                    .Cells(myNext + 1, 2) = Cells(5, J).Cells(1, 1)
                    .Cells(myNext + 1, 3) = Cells(6, J + 1)
                    .Cells(myNext + 1, 4) = Cells(I, J + 1)
                    .Cells(myNext + 1, 5) = Range("C3")
                    .Cells(myNext + 1, 6) = Cells(I, 35)
                End If
            Next J
        End With
    End If
Next I
MsgBox ("Trasposizione completata")
End Sub

Essa si prende carico di effettuare la trasposizione richiesta, accodando i nuovi dati a quelli preesistenti all'interno del file Flatzzz.
Operativamente:
1) apri Flatzzz.xlsm
2) apri il file che vuoi trasporre in Flatzzz e attiva il foglio con la tabella.
3) A questo punto lancia la macro:
-premi Alt-F8 da tastiera
-scegli Servez dall'elenco di macro disponibili e premi Esegui

Un messaggio segnalera' il completamento del lavoro. Chiudi il file e riprendi dal "punto 2".
Finito il lavoro, salva il contenuto di Flatzzz.xlsm con il nome che preferisci; lascia Flatzzz.xlsm vuoto, e usalo per crearti altri report in futuro.

Ovviamente la macro si aspetta di trovare un formato dati esattamente uguale a quello che hai pubblicato.

Se vuoi cancellare il contenuto di Flatzzz (per creare da zero i tuoi dati) allora ti suggerisco di lasciare le intestazioni di riga 1

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19183
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Da Report a Flat File

Postdi Ross72 » 22/06/16 17:55

Funziona tutto perfettamente.
Grazie veramente di Cuore.

Siete Grandi!!!
Ross72
Utente Junior
 
Post: 17
Iscritto il: 03/03/16 11:36


Torna a Applicazioni Office Windows


Topic correlati a "Da Report a Flat File":


Chi c’è in linea

Visitano il forum: Nessuno e 43 ospiti