Condividi:        

cambiare il nome del file e del foglio in una chiamata vba

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

cambiare il nome del file e del foglio in una chiamata vba

Postdi giulioc.tempestilli » 21/12/17 11:46

Questa volta chiedo qualcosa di estremamente cervellotico con excel.
data la funzione
Public Sub apri_imre_ntrimestre()
'apre file imre 1trimestre
ChDir _
"C:\Documents and Settings\giulioc.tempestilli\Desktop\Nuova cartella (3)"
Workbooks.Open Filename:= _
"C:\Documents and Settings\giulioc.tempestilli\Desktop\Nuova cartella (3)\imre ntrimestre.xls" _
, UpdateLinks:=0
'seleziona il range da copiare
ActiveSheet.Range("b22", "n250").Select
'copia i dati
Selection.Copy
'passa a statistica
Windows("statistica ucv anno.xls").Activate
'rendo visibile autorizzazione imre
Sheets("AUT. IMRE").Visible = True
'seleziono autorizzazione imre
Sheets("AUT. IMRE").Select
'trovo la prima cella libera nella colonna b
Columns("b").Select
Colonna = ActiveCell.Column
Cells(65535, Colonna).End(xlUp).Offset(1, 0).Select
'copio i dati
With ActiveCell
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End With
'rendo invisibile aut. imre
Sheets("AUT. IMRE").Visible = False
'salva il file
ThisWorkbook.SaveAs
'chiude imre 2trimestre
Windows("imre 2trimestre.xls").Activate
ActiveWindow.Close

End Sub
La sovrastante funzione apre un file di nome ntrimestre e copia i dati nel file statistica ucv anno nel foglio aut. imre.
Con questa funzione alla bene o meglio sembra tutto facile, in realtà il file "ntrimestre" puo essere 1trimestre, 2trimestre,3trimestre ecc; il file "statistica ucv anno" può essere statistica ucv 2017, statistica ucv 2018 e via discorrendo; il foglio "aut. imre" piò essere aut. primavalle, aut.tufello ecc.
Praticamente chiedo se posso decidere io, in qualche maniera il nome del file da dove prendo i dati, il file dove inserisco i dati e il foglio dove copio i dati.
Richiesta molto dirfficile? spero di no e spero che possiate aiutarmi
giulioc.tempestilli
Utente Junior
 
Post: 21
Iscritto il: 20/10/17 08:47

Sponsor
 

Re: cambiare il nome del file e del foglio in una chiamata v

Postdi giulioc.tempestilli » 21/12/17 17:22

Vi è un'altro problema, nella funzione faccio la ricerca della prima cella vuota da cui poi incollo i dati del file dati, puo capitare che nei dati già memorizzati la colonna abbia delle celle vuote, la procedura cosi come è praticamente si aggancia alla prima cella vuota e potrebbe cancellare dei dati già salvati. aiutooooo
giulioc.tempestilli
Utente Junior
 
Post: 21
Iscritto il: 20/10/17 08:47

Re: cambiare il nome del file e del foglio in una chiamata v

Postdi Anthony47 » 22/12/17 01:18

Per poter proporre una automazione che abbia un senso avrei bisogno di sapere in quale file sarebbe inserita la macro di cui parliamo.
Escludendo "imre_ntrimestre.xls", va in "statistica ucv anno.xls" o va in un terzo file?
E poi, da quale foglio di "imre_ntrimestre.xls" i dati vanno copiati (se il file ha piu' di un foglio).

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

Re: cambiare il nome del file e del foglio in una chiamata v

Postdi giulioc.tempestilli » 22/12/17 08:00

La macro andrebbe inserita su statistica ucv anno.xls.
su statistica ucv anno.xls esiste un foglio nominato "aut. imre", in questo foglio fanno inseriti i dati di imre 1trimestre poi a seguire imre 2trimestre e cosi via. Faccio presente che le colonne sono ugualmente denominate nei due file.
Grazie infinite dell'interessamento
giulioc.tempestilli
Utente Junior
 
Post: 21
Iscritto il: 20/10/17 08:47

Re: cambiare il nome del file e del foglio in una chiamata v

Postdi Anthony47 » 22/12/17 12:38

La nuova descrizione mi ha confuso invece che illuminare...
La macro deve copiare i dati di un trimestre (da scegliere) e incollarlo nel file STATISTICA UCV 2017.XLS, oppure deve copiare uno dopo l'altro tutti i trimestri (N file diversi)?
Non hai poi chiarito quanti fogli contiene "imre_Ntrimestre.xls" e da quale vanno copiati i dati prima di incollarli nel file Statistica.

Piuttosto che cercare di descrivere ulteriormente a parole la struttura dei file, credo la cosa migliore sia pubblicarne degli esempi gia' popolati con qualche dato di prova, da usare anche per il collaudo della macro; eventualmente su questi esempi ridescrivi le possibili varianti, es. possibile variazione del nome dei file /fogli, e descrivi il processo (quello che vogliamo automatizzare) come e' fatto a mano oggi.
Per le istruzioni su come allegare un file:
viewtopic.php?f=26&t=103893&p=605487#p605487

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

Re: cambiare il nome del file e del foglio in una chiamata v

Postdi giulioc.tempestilli » 12/01/18 13:03

Ho risolto cosi:
Public Sub apri_imre_ntrimestre()
' avvia variabili
Z = InputBox("", "anno")
y = InputBox(" ", "foglio")
'apre file imre ntrimestre
With Application.FileDialog(msoFileDialogOpen)
.InitialFileName = "C:\Documents and Settings\giulioc.tempestilli\Desktop\*.xls*"
.Title = "Please Select a File"
.AllowMultiSelect = False
.Show
If .SelectedItems.Count = 0 Then Exit Sub
strFile = .SelectedItems(1)
End With
Set mybook = Workbooks.Open(strFile)
a = Application.ActiveWorkbook.Name
'ChDir _
"C:\Documents and Settings\giulioc.tempestilli\Desktop\Nuova cartella (3)"
'Workbooks.Open Filename:= _
"C:\Documents and Settings\giulioc.tempestilli\Desktop\Nuova cartella (3)\imre ntrimestre[/b].xls" _
, UpdateLinks:=0
'seleziona il range da copiare
ActiveSheet.Range("b22", "n250").Select
'copia i dati
Selection.Copy
'passa a statistica
Windows("statistica ucv" & " " & Z & ".xls").Activate
'rendo visibile autorizzazione imre
Sheets(y).Visible = True
'seleziono autorizzazione imre
Sheets(y).Select
'trovo la prima cella libera nella colonna b
Columns("b").Select
Colonna = ActiveCell.Column
Cells(65535, Colonna).End(xlUp).Offset(1, 0).Select
'copio i dati
With ActiveCell
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End With
'rendo invisibile aut. imre
Sheets(y).Visible = False
'salva il file
ThisWorkbook.SaveAs
'chiude imre ntrimestre
Windows(a).Activate
ActiveWindow.Close

End Sub
giulioc.tempestilli
Utente Junior
 
Post: 21
Iscritto il: 20/10/17 08:47


Torna a Applicazioni Office Windows


Topic correlati a "cambiare il nome del file e del foglio in una chiamata vba":


Chi c’è in linea

Visitano il forum: Nessuno e 37 ospiti