Newsgroup: it.comp.lang.visual-basic
Titolo: Macro-copia per foglio del file xls

Ciao a tutti.
Ho un file xls con dentro una serie di fogli (Foglio1, Foglio2, Foglio3 
ecc.).
E' possibile creare una macro che, cliccando su un bottone,  mi crea una 
copia del  file xls   nella stessa cartella di lavoro (variabile da 
computer a computer)e che tale copia contenga solo il foglio1 e foglio2 
(in realtï¿œ i fogli sono stati rinominati...)?
Naturalmente il salvataggio deve avvenire senza che l'utente debba dare 
ulteriore conferma (voglio evitare che, cliccato sul bottone, il 
programma mi chieda la conferma di cancellazione dei fogli 1, 2 ecc.)
E' anche possibile attribuire  il nome del nuovo file xls in base al 
contenuto di due celle (esempio la cella A4 contiene Pippo e la cella A8 
contiene PLUTO)?
Grazie a tutti e, come al solito, spero di non avervi confuso.
nero23


S�, � possibile.
Chiarisci i punti che non mi sono chiari, grazie.
-- 
---------------------------
Mauro Gamberini
http://www.riolab.org/
http://www.maurogsc.eu/
http://social.microsoft.com/Forums/it-IT/excelit/threads
 

Su un foglio A.xls inserisco dei dati nel foglio 1 e foglio 2.
Faccio una copia del file A.xls (salva con nome...) e lo chiamo B.xls.
Il file A.xls lo metto da parte.
Apro il foglio B.xls e cancello il Foglio 2 (perch� contiene dati non 
divulgabili) dopo di ch� lo invio ai miei colleghi.
Questa � la procedura che eseguo ogni volta...
La mia domanda �: E' possibile creare una macro da lanciare dal  file  A.xls 
che  mi crea automaticamente il file B.xls gi� privo del Foglio 2?
 Naturalmente il nuovo file deve essere salvato nella stessa directory di 
lavoro (oppure mi deve dare la possibilit� di scegliere il percorso)..
Grazie
nero23

 nero23
La domanda mi sembrava così stupida che credevo nascondesse un
trucco...e mi hai costretto a provare sul mio excel 2003 prima di
rispondere!...e come sapevo...funziona!
quindi...la risposta è:
ma invece che scrivere un sacco...non facevi prima a usare il
registratore di macro e fare passo passo quello che hai scritto???
Saluti!

Questo ti salva il Foglio1(solo
il Foglio1) in formato .xls, in un
nuovo file nella stessa Directory
che contiene il file con la macro.
Il file avr� nome Foglio1.xls:
Public Sub m()
On Error GoTo RigaErrore
    Dim sh As Worksheet
    Dim wk As Workbook
    Set wk = ThisWorkbook
    Set sh = wk.Worksheets("Foglio1")
    With Application
        .ScreenUpdating = False
        .DisplayAlerts = False
    End With
    wk.Save
    With sh
        Application.CutCopyMode = False
        Sheets(.Name).Copy
        ActiveWorkbook.SaveAs _
            wk.Path & "\" & sh.Name & ".xls", _
            FileFormat:=xlExcel8
        ActiveWorkbook.Close
    End With
    wk.Activate
RigaChiusura:
    Set sh = Nothing
    Set wk = Nothing
    With Application
        .ScreenUpdating = True
        .DisplayAlerts = True
    End With
    Exit Sub
RigaErrore:
    MsgBox Err.Number & vbNewLine & Err.Description
    Resume RigaChiusura
End Sub
Da qui, un mondo.
-- 
---------------------------
Mauro Gamberini
http://www.riolab.org/
http://www.maurogsc.eu/
http://social.microsoft.com/Forums/it-IT/officeit/threads
 

quindi...la risposta �:
ma invece che scrivere un sacco...non facevi prima a usare il
registratore di macro e fare passo passo quello che hai scritto???
***************************************************
Lo sai, perch� ci sei venuto, che
di la in m.p.i.o.e. siamo molto pi�
buoni... ;-)
-- 
---------------------------
Mauro Gamberini
http://www.riolab.org/
http://www.maurogsc.eu/
http://social.microsoft.com/Forums/it-IT/officeit/threads
 

 buoni... ;-)
troppo
preso Excel avviato registratore macro
seleziono foglio 1 ...copio....
click su nuovo file
click su incolla
click sul foglio3 ..lo seleziono tutto ...click copia
ritorno sul nuovo file
click incolla
ritorno sul file originario fermo il registratore
salvo
riapro
apro ...scrivo dei dati nel foglio 1 2 3 ...lancio la macro...mi fa un
nuovo foglio con i dati del foglio 1 e 3!
perchè andare di vba quando il mondo è già così complicato???
cmq tutto sto ambarandan mi genera
Sub MacroTEST()
'
' MacroTEST Macro
' Macro registrata il 28/10/2009 da MM
'
'
    Sheets("Foglio1").Select
    Cells.Select
    Selection.Copy
    Workbooks.Add
    Cells.Select
    ActiveSheet.Paste
    Windows("MASTERTESTAù.xls").Activate
    Sheets("Foglio3").Select
    Cells.Select
    Application.CutCopyMode = False
    Selection.Copy
    Windows("Cartel2").Activate
    Sheets("Foglio2").Select
    Cells.Select
    ActiveSheet.Paste
    Windows("MASTERTESTAù.xls").Activate
End Sub
bai bai


Ogni tanto � bello lasciare il mondo
a graffe e tornare in quello delle Sub.
;-)
-- 
---------------------------
Mauro Gamberini
http://www.riolab.org/
http://www.maurogsc.eu/
http://social.microsoft.com/Forums/it-IT/excelit/threads