Condividi:        

[EXCEL]Macro: chiusura foglio lavoro con nome variabile

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: chiusura foglio lavoro con nome variabile

Postdi tricilindrico » 10/07/12 13:42

Buongiorno a tutti!

confido nelle Vostre infinite conoscenze, non so come risolvere un problema di chiusura foglio di lavoro all'interno di una macro....
in pratica, tramite questa procedura:

Codice: Seleziona tutto
 Dim X As String
'cartella = InputBox("Scrivi il numero ")
If cartella = "" Then Exit Sub
If nome = "" Then Exit Sub
X = "\\C:\DIR\" & cartella & "\" & ActiveWorkbook.Sheets("lista_file").Range("A1")
Workbooks.OpenText Filename:=X, _


riesco ad importare un foglio di lavoro che ha come nome il contenuto di una cella (A1) e viene assegnato alla variabile X.
Quindi una macro fa una serie di operazioni. Il mio problema è che passando ad altri fogli di lavoro non riesco a tornare al foglio importato (per chiuderlo ...) in quanto il nome del file è variabile...
In pratica, importo questo file, lo lavoro, ne seleziono una parte, la copio e incollo in un nuovo foglio e poi vorrei automatizzare la chiusura del file importato.

Un saluto a tutti, buona giornata!
S.O.: Windows 8.1 Pro 64 with media center (ITA)
Off.: Office Professional plus 2013 (15.0.4569.1506) 64 bit (ITA)
tricilindrico
Utente Junior
 
Post: 36
Iscritto il: 05/07/12 14:59

Sponsor
 

Re: [EXCEL]Macro: chiusura foglio lavoro con nome variabile

Postdi patel » 10/07/12 13:50

hai provato con X.close ?
patel
Utente Senior
 
Post: 309
Iscritto il: 24/04/12 16:03

Re: [EXCEL]Macro: chiusura foglio lavoro con nome variabile

Postdi tricilindrico » 10/07/12 14:04

Ciao Patel

grazie , non conoscevo il comando X.close.
Però il mio problema è che dovrei riuscire a chiudere un foglio che una macro ha aperto in precenza e il nome del file è variabile, ma inserito in una cella (A1) e assegnato ad una variabile "X".
Ho provato a mettere Workbooks("X") per attivarlo e quindi chiuderlo ma non va ... :undecided: :undecided:

Quello che mi blocca è come lavorare con questo nome di file "variabile" ....

ciao!!
S.O.: Windows 8.1 Pro 64 with media center (ITA)
Off.: Office Professional plus 2013 (15.0.4569.1506) 64 bit (ITA)
tricilindrico
Utente Junior
 
Post: 36
Iscritto il: 05/07/12 14:59

Re: [EXCEL]Macro: chiusura foglio lavoro con nome variabile

Postdi Flash30005 » 10/07/12 19:08

Prova così
Codice: Seleziona tutto
Sub ApreFile()
MyF = [A1]
  If MyF = "" Then Exit Sub
    Call FImp(MyF)
End Sub

Sub FImp(X)
Perc = "C:\TuoPercorso\"
Workbooks.Open Filename:=Perc & X
MsgBox "File Aperto"
Workbooks(X).Close savechanges:=False

End Sub


iao
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]Macro: chiusura foglio lavoro con nome variabile

Postdi Anthony47 » 11/07/12 00:42

Guarda la soluzione proposta da Flash sopra.
Immagino che pero' la tua macro sia un po' piu' complessa e potresti trovarti in difficolta' a inserire quanto proposto nel tuo schema.
In questo caso, il mio suggerimento e' che subito dopo l' istruzione Workbooks.OpenText Filename:=X, _ memorizzi il nome del file aperto in una nuova variabile con l' istruzione
Codice: Seleziona tutto
myFileN=Activeworkbook.name
(attenzione, l' istruzione dopo la quale devi posizionare la riga suggerita e' distribuita su piu' righe, come testimonia quel "_" in fondo a quanto hai pubblicato)

Poi all' occorrenza userai
Codice: Seleziona tutto
Workbooks(myFileN).Activate
ActiveWorkbook.Close savechanges:=True   'oppure False


Si puo' anche usare direttamente Workbooks(myFileN).Close savechanges:=True 'oppure False ma con le istruzioni di prima e' piu' semplice da debuggare.

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

Re: [EXCEL]Macro: chiusura foglio lavoro con nome variabile

Postdi tricilindrico » 12/07/12 10:28

Ciao Antony, ciao Flash!
grazie mille per i codici postati, spero d riuscire a provarli oggi pomeriggio, ieri non ce l'ho fatta ... :-?
sto provando le diverse soluzioni per riassemlare tutto il codice e terminare il progetto.

grazie di tutto , buona giornata !
S.O.: Windows 8.1 Pro 64 with media center (ITA)
Off.: Office Professional plus 2013 (15.0.4569.1506) 64 bit (ITA)
tricilindrico
Utente Junior
 
Post: 36
Iscritto il: 05/07/12 14:59

Re: [EXCEL]Macro: chiusura foglio lavoro con nome variabile

Postdi tricilindrico » 13/07/12 10:38

Ciao Antony!

grazie mille, sono riuscito a provae con il tuo suggerimento della variabile e funziona perfettamente!

grazie ciao buona giornata
:)
S.O.: Windows 8.1 Pro 64 with media center (ITA)
Off.: Office Professional plus 2013 (15.0.4569.1506) 64 bit (ITA)
tricilindrico
Utente Junior
 
Post: 36
Iscritto il: 05/07/12 14:59

Re: [EXCEL]Macro: chiusura foglio lavoro con nome variabile

Postdi Flash30005 » 13/07/12 11:20

Ma scusa non avevi detto che il nome del file era scritto nella cella "A1"? :roll:

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]Macro: chiusura foglio lavoro con nome variabile

Postdi tricilindrico » 13/07/12 13:34

Ciao Flash!
si esatto, il nome del file "utile" (che grazie al tuo aiuto in un altro post riesco ad ordinare correttamente) lo trovo in A1 . Come immagino si sia capito non ho nessuna formazione su VB, ma ho tanta voglia di imparare, quindi riconosco che in questo approccio ho fatto un po' di confusione...
Ora quesa parte di codice è sistemata, ma voglio fare la prova usando ovviamente l'informazione (nomefile) che trovo in A1 e anche la parte di codice che mi hai postato ieri sera mi sembra, quella che permette di scegliere dalla Directory il file più recente (che è quello che mi serve).

grazie di tutto, ciao buon pomeriggio!
S.O.: Windows 8.1 Pro 64 with media center (ITA)
Off.: Office Professional plus 2013 (15.0.4569.1506) 64 bit (ITA)
tricilindrico
Utente Junior
 
Post: 36
Iscritto il: 05/07/12 14:59

Re: [EXCEL]Macro: chiusura foglio lavoro con nome variabile

Postdi Flash30005 » 13/07/12 13:47

:roll:
stai confondendo le due cose
la macro ultima postata nell'altro topic ti permette di avere l'ultimo file (data e ora) esistente nella directory che desideri e in quell'occasione parlavamo di file testo
Qui stai parlando di file di excel (vedi titolo topic) e la chiusura (tra file .txt e .xls) avviene in modo diverso
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]Macro: chiusura foglio lavoro con nome variabile

Postdi tricilindrico » 16/07/12 08:34

Ciao Flash!

si hai ragione, ho sbagliato a scrivere nel titolo ... era una cartella di lavoro (visto che importo un file ditesto .TXT).

scusa
ciao!
S.O.: Windows 8.1 Pro 64 with media center (ITA)
Off.: Office Professional plus 2013 (15.0.4569.1506) 64 bit (ITA)
tricilindrico
Utente Junior
 
Post: 36
Iscritto il: 05/07/12 14:59

Re: [EXCEL]Macro: chiusura foglio lavoro con nome variabile

Postdi Flash30005 » 16/07/12 11:14

:roll:
Mi sto perdendo
Non mi dire che prima usi la macro precedente per risalire all'ultimo file.txt
importi il nome del file in A1 di un foglio di excel e poi lo importi?
Se è così, oltre ad essere partito da molto lontano con la creazione dell'elenco e poi con l'ordine decrescente
ma anche ora ti avvali di un'operazione inutile: trascrivere il nome e poi importarlo
quando puoi farlo in maniera automatica eliminando il primo passaggio ;)

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]Macro: chiusura foglio lavoro con nome variabile

Postdi tricilindrico » 16/07/12 13:56

Ciao Flash
in effetti faccio fare "una paio di acrobazie" a questa cartella con le macro (con alcuni passaggi che hai già visto).
A monte però ho altre operazione che vengono fatte e avere la lista dei file di quella directory (che varia da progetto a progetto) (e poi ordinate) mi è molto comodo e lo uso come controllo errori.

Grazie a tutti voi sono quasi alla fine e vedo la luce del progetto, ora mi mancano solo dei piccoli dettagli.
buon pomeriggio ciao!
S.O.: Windows 8.1 Pro 64 with media center (ITA)
Off.: Office Professional plus 2013 (15.0.4569.1506) 64 bit (ITA)
tricilindrico
Utente Junior
 
Post: 36
Iscritto il: 05/07/12 14:59

Re: [EXCEL]Macro: chiusura foglio lavoro con nome variabile

Postdi Flash30005 » 18/07/12 01:45

tricilindrico ha scritto:in effetti faccio fare "una paio di acrobazie" a questa cartella ...
A monte però ho altre operazione che vengono fatte e avere la lista dei file di quella directory (che varia da progetto a progetto) (e poi ordinate) mi è molto comodo e lo uso come controllo errori.
...


:roll:
O non hai specificato tutto o continuo a pensare che non hai le idee chiare: razionalizzare significa far fare ad ogni operazione tutto ciò che occorre per raggiungere lo scopo, nel nostro caso alla base c'è un insieme di dati dai quali attingiamo per "prendere" ciò che ci occorre... ma qui ci dilunghiamo...

Tornando al tuo post mi domando: vorresti controllare gli errori fatti da una macro ad hoc per ricavarti l'ultimo file aggiornato? Penso che faccia più errori l'uomo a leggere centinaia di righe che un programma a estrarre il file previsto dal programma stesso.
Ma capisco che nella realtà quotidiana succedono cose (normalmente causate da errori o incapacità di terze persone) che non ci permettono di avere tutto "alla perfezione" e quindi nasce la necessità di dover "controllare" (perché forse ci consideriamo più "perfetti" ? ). :undecided:
Ora bisognerebbe capire quale è la tua realtà...

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]Macro: chiusura foglio lavoro con nome variabile

Postdi tricilindrico » 18/07/12 08:09

Flash30005 ha scritto:
tricilindrico ha scritto:in effetti faccio fare "una paio di acrobazie" a questa cartella ...
A monte però ho altre operazione che vengono fatte e avere la lista dei file di quella directory (che varia da progetto a progetto) (e poi ordinate) mi è molto comodo e lo uso come controllo errori.
...


:roll:
O non hai specificato tutto o continuo a pensare che non hai le idee chiare: razionalizzare significa far fare ad ogni operazione tutto ciò che occorre per raggiungere lo scopo, nel nostro caso alla base c'è un insieme di dati dai quali attingiamo per "prendere" ciò che ci occorre... ma qui ci dilunghiamo...

Tornando al tuo post mi domando: vorresti controllare gli errori fatti da una macro ad hoc per ricavarti l'ultimo file aggiornato? Penso che faccia più errori l'uomo a leggere centinaia di righe che un programma a estrarre il file previsto dal programma stesso.
Ma capisco che nella realtà quotidiana succedono cose (normalmente causate da errori o incapacità di terze persone) che non ci permettono di avere tutto "alla perfezione" e quindi nasce la necessità di dover "controllare" (perché forse ci consideriamo più "perfetti" ? ). :undecided:
Ora bisognerebbe capire quale è la tua realtà...

Ciao


Ciao Flash! Buongiorno!
forse mi sono spiegato male o sono stato mal interpretato. Non mi sembra di aver scritto che voglio controllare gli erorri fatti da una macro ad hoc (che per definizione spero non sbagli mai! al massimo ho sbagliato io nell'analisi del problema, ma questo, naturalmente, è un altro problema) ma per fare un controllo errori, visto che i files che vengono pubblicati vengono resi tali non da me e chi li richiede può fare degli errori (persone umane che come me, sbagliano).
Le procedure (sulle quali non ho nessuna possibilità di intervento) ci creano questi files con dei nomi prestabiliti (con l'odioso e mal fatto/mal pensato timestamp che hai già notato) nel prefisso, e qua interviene un controllo errori: la macro che parte per una certa lavorazione NON partirà se l'ultimo file nella cartella del cliente nonha il prefisso corretto (proprio per evitare di lavorare dei dati che non andebbero bene). Sicuramente ci sarebbe (e ci sarà, ne sono certo) un sistema migliore e più razionale per evitare tutto ciò, ma in questa "prima" fase abbiamo bisogno anche di sapere quando, dove (richiesta sbagliata o file prodotto?) e quante volte possono verificarsi questi errori. Tutto qua, indubbio che potevo argomentare meglio (o più precisamente) la richiesta, ne farò tesoro per le prossime volte. :)
a presto e grazie di tutto, buona giornata!
S.O.: Windows 8.1 Pro 64 with media center (ITA)
Off.: Office Professional plus 2013 (15.0.4569.1506) 64 bit (ITA)
tricilindrico
Utente Junior
 
Post: 36
Iscritto il: 05/07/12 14:59


Torna a Applicazioni Office Windows


Topic correlati a "[EXCEL]Macro: chiusura foglio lavoro con nome variabile":


Chi c’è in linea

Visitano il forum: Gianca532011 e 39 ospiti