Condividi:        

EXCEL crea file inventario leggendo altri 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

Re: EXCEL crea file inventario leggendo altri file

Postdi babu52 » 21/03/10 01:05

Flash grazie per la tua abnegazione, sicuramente non sono stato chiaro nell'esposizione.
Comunque la data è proprio quella della "pigiatura del bottone".
Ho copiato il file che mi hai inviato nella cartella BROWN (una di quelle che ti ho inviato con l'ultimo zip), ma quando pigio il bottone ricevo :
Compile Error
ByRef argument type mismatch
e dando OK il cursore mi si posizione su Sub ElencoFileXls()

Il path è : C:\MAGAZZINO\BROWN
Cosa ho toppato questa volta ? Quel file INVENTARIO contenuto nell'INVENTARIO4.zip che mi hai dato non andrebbe copiato in ciascuna sottorcartella cliente ?

Ciao Flash e buona domenica
babu52
Utente Junior
 
Post: 36
Iscritto il: 16/03/10 16:25

Sponsor
 

Re: EXCEL crea file inventario leggendo altri file

Postdi Flash30005 » 21/03/10 01:20

quell'errore è sconoscito per me
fai una cosa scarica questo file
lancialo e avrai in c:\ la cartella magazzino con le sottocartelle nelle quali troverai un file Inventario funzionante che continuerà a funzionare portandolo in altre cartelle clienti

fai sapere
ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: EXCEL crea file inventario leggendo altri file

Postdi babu52 » 24/03/10 17:56

Grandissimo Flash chiedo scuso per non averti risposto subito, ma ho avuto problemi.
Ti ringrazio per quanto hai fatto, funziona egregiamente tranne quando incontro dei colpi di genio dovuti alla manualità di gestione.
Spero di non disturbarti più, comunque se mi capitasse la necessità ora so che sei una garanzia.
CIAO
babu52
Utente Junior
 
Post: 36
Iscritto il: 16/03/10 16:25

Re: EXCEL crea file inventario leggendo altri file

Postdi Flash30005 » 25/03/10 02:12

Fai una cosa,
annotati gli errori più comuni che incontri dovuti alla manualità dell'inserimento dati etc.
poi analizzeremo per vedere su come intervenire e correggerli attraverso la macro.
Ogni eccezione è un ulteriore controllo che deve effettuare la macro con conseguente modifica del codice stesso mi auguro solo che non siano troppe e soprattutto diverse tra loro.

Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: EXCEL crea file inventario leggendo altri file

Postdi babu52 » 05/04/10 22:34

Carissimo Flash sperando che tu abbia passato una Pasqua tranquilla eccomi di nuovo a chiederti una ...banalità.
Sfruttando la macro che mi hai inviato per l'inventario ho cercato di farne una nuova CompilaInvFileForm che crea nel file inventario, un foglio con l'elenco dei file contenuti nella sottocartella di ciascun cliente e il contenuto della cella D1 (formato carta) di ogni file. Questo mi permette di avere la relazione file - formato carta.
Il path resta sempre quello C:\MAGAZZINO\nomecliente ; nella macro che mi hai inviato CompilaInv già crei un foglio di appoggio contenente tutti i file della cartella cliente.
Infine una domanda da ...idiota : se si volesse dare al foglio un nome parlante (es. nella nuova macro File+Formato) basta modificare all'interno della macro i riferimenti al Sheet1 con il nome scelto ?
Ciao Flash e grazie
babu52
Utente Junior
 
Post: 36
Iscritto il: 16/03/10 16:25

Re: EXCEL crea file inventario leggendo altri file

Postdi Flash30005 » 05/04/10 23:36

Pasqua e Pasquetta ottima grazie.
babu52 ha scritto:Il path resta sempre quello C:\MAGAZZINO\nomecliente ; nella macro che mi hai inviato CompilaInv già crei un foglio di appoggio contenente tutti i file della cartella cliente.

No ho capito se era una conferma o una domanda.
Si la macro compila un foglio "Elenco" nascosto dove hai tutti i nomi dei file per cliente

babu52 ha scritto:... se si volesse dare al foglio un nome parlante (es. nella nuova macro File+Formato) basta modificare all'interno della macro i riferimenti al Sheet1 con il nome scelto ?


Si, puoi dare qualsiasi nome al foglio ma devi modificare questo nome all'interno della macro.

Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: EXCEL crea file inventario leggendo altri file

Postdi babu52 » 06/04/10 09:21

Flash come sempre sono un po' incasinato.
Fine : creare una macro CompilaInvFileForm che scrive un foglio File+Formato nel quale, come quello creato dalla tua macro CompilaInv, dopo l'intestazione con data in B1 e Cliente in C1, dalla A4 scrive nome file (es.290073X102X073BG.xls) e in B4 il formato carta in esso contenuto (cella D1---> GR. 290 F.TO 102x73 B/G).

Questo per tutti i file contenuti nella cartella indipendentemente dalla giacenza carta, per poter verificare che "la manualità" non abbia immesso incongruenze.
Ciao
babu52
Utente Junior
 
Post: 36
Iscritto il: 16/03/10 16:25

Re: EXCEL crea file inventario leggendo altri file

Postdi Flash30005 » 06/04/10 10:35

Quindi vorresti un foglio per ogni file+formato sviluppati dai file esistenti per cliente?
Significa se hai un file con tre formati vorresti creare 3 fogli?
quindi con 30 file con due o tre formati ti ritroveresti dai 60 a 100 fogli nella cartella.
Come pensi di controllare tutti questi fogli, uno per uno?

Invia un'immagine con le indicazioni
ma secondo me stai imbattendo in una strada poco praticabile e difficile da gestire.

Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: EXCEL crea file inventario leggendo altri file

Postdi babu52 » 06/04/10 15:36

Flash no, nella cartella di un cliente nel file inventario.xls oltre al foglio sheet1 creato dalla macro CompilaInv che mi avevi inviato, nel quale vi è la descrizione del formato carta con la giacenza dei fogli a magazzino, vorrei fare una nuova macro CompilaInvFileForm che mi scrive un nuovo foglio nel quale vi saranno nella colonna A il nome del file .xls presente nella cartella e nella colonna B la cella D1, contenente la descrizione formato, contenuta nel file stesso.
Nello stesso foglio che vorrei chiamare File+Form queste informazioni per tutti i file contenuti nella cartella, perciò nel foglio vi saranno tante righe quanti i file xls presenti nella cartella +3 di intestazione.

Ho caricato la cartella magazzino che ti avevo già inviato
http://rapidshare.com/files/372687549/M ... O.zip.html
MD5: 5BAF7860F36F65F59BB4DD7C9C53C5C4
e nella sottocartella VERDI nel file inventario ho "manualmente aggiunto" il foglio che vorrei fare.
La macro la vorrei tenere separata dalla precedente, anche se simile, in quanto la vorrei usare solo per i clienti grossi.
In attesa di tue info saluti e grazie
babu52
Utente Junior
 
Post: 36
Iscritto il: 16/03/10 16:25

Re: EXCEL crea file inventario leggendo altri file

Postdi Flash30005 » 07/04/10 00:36

Una macro che può fare quello che vorresti potrebbe essere questa:
Codice: Seleziona tutto
Sub CreaFgFileForm()
Application.DisplayAlerts = False
On Error Resume Next
Sheets("File+Form").Delete
On Error GoTo 0
Application.DisplayAlerts = True
    Sheets("Elenco").Select
    URE = Worksheets("Elenco").Range("A" & Rows.Count).End(xlUp).Row
    Sheets("Elenco").Copy Before:=Sheets(2)
    Sheets("Elenco (2)").Select
    Sheets("Elenco (2)").Name = "File+Form"
    For RR = URE To 1 Step -1
           With Worksheets("File+Form").Range("A" & RR)
            Set D = .Find("$", LookIn:=xlValues)
            If Not D Is Nothing Then
                firstDAddress = D.Address
                Do
                    D.Rows.Delete
                     On Error Resume Next
                Loop While Not D Is Nothing And D.Address <> firstDAddress
                    On Error GoTo 0
            End If
        End With
Next RR
    URF = Worksheets("File+Form").Range("A" & Rows.Count).End(xlUp).Row
    Range("A1:A" & URF).Select
    Selection.Cut Destination:=Range("A4:A" & URF + 3)
    Range("A1").Select
    Sheets("Sheet1").Select
    UROut = Worksheets("Sheet1").Range("A" & Rows.Count).End(xlUp).Row
    For RR = 4 To UROut
    Sheets("File+Form").Range("B" & RR).Value = Worksheets("Sheet1").Range("A4:A" & RR).Value
Next RR
    Sheets("File+Form").Range("B1").Value = Worksheets("Sheet1").Range("B1").Value
    Sheets("File+Form").Range("C1").Value = Mid(DirC, 1, Len(DirC) - 1)
End Sub


Chiaramente dovrà essere richiamata prima della fine della macro già esistente "CompilaInv"
quindi aggiungerai la riga evidenziata con <<<<
Codice: Seleziona tutto
...
...
Next File
Call CreaFgFileForm   '<<<<<<<<<<<< aggiungere questa riga qui
Sheets("Elenco").Visible = False
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub

Altrimenti scarica questo file

Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: EXCEL crea file inventario leggendo altri file

Postdi babu52 » 08/04/10 00:18

Scusa Flash se sono un tantino duro, ma se io volessi fare una macro a se stante slegata dalla CompilaInv non posso sicuramente eseguire il coding che mi hai inviato o sbaglio ?
babu52
Utente Junior
 
Post: 36
Iscritto il: 16/03/10 16:25

Re: EXCEL crea file inventario leggendo altri file

Postdi Flash30005 » 08/04/10 01:55

La seconda macro è legata alla prima perché prende i dati sia dall'elenco che dala foglio Sheet1.
Altrimenti bisogna rieseguire appositamente l'importazione.
Ma visto che a te serviva come ulteriore controllo
le due macro devono viaggiare assieme ed è inutile ripetere due volte le stesse operazioni.

Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: EXCEL crea file inventario leggendo altri file

Postdi babu52 » 09/04/10 13:35

Flash grazie funziona tutto alla grande, ma ora se posso vorrei farti una domanda che forse potrà sembrarti insensata.
Siccome per qualche cliente viene inviata per email la cartella con i file xls dei formati carta ma a questo punto anche dell'inventario.xls, come potrei fare per inviare solo i dati del foglio inventario sganciando le macro oppure non permettendo loro la visibilità delle macro stesse ?
Ciao e grazie
babu52
Utente Junior
 
Post: 36
Iscritto il: 16/03/10 16:25

Re: EXCEL crea file inventario leggendo altri file

Postdi Flash30005 » 09/04/10 14:38

Hai illustrato bene il tuo caso e questo fa pensare a diverse soluzioni
1) è per qualche cliente
Quindi potrai agire manualmente facendo una copia del solo foglio inventario e inviando questa cartella e non l'intero inventario
2) Crei un file .pdf del foglio interessato e invii questo con i file formato carta

Se tutto ciò diventa macchinoso e troppo ripetitivo allora puoi proteggere il vba con una password ma ricorda che sono "mezzucci" perché volendo i codici si potranno leggere con altri sistemi

Ma perché vuoi proteggere il codice macro?
Cosa comporta se il cliente lo legge? Lì non ci sono i dati degli altri clienti.

Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Precedente

Torna a Applicazioni Office Windows


Topic correlati a "EXCEL crea file inventario leggendo altri file":


Chi c’è in linea

Visitano il forum: Nessuno e 94 ospiti