Copia oggetti e immagini vba



  • Copia oggetti e immagini vba
    di MatteoM data: 21/06/2016 20:26:10

    Ciao a tutti.

    Ho un piccolo problemino, devo creare una macro per creare dei fogli di excel compresi in file salvato in una cartella diversa da quella che contiene il file di destinazione.
    In fase di copia ho bisogno di copiare i valori, i formati (già fatto tranquillamente con lo strumento per la copia speciale in visual basic for application), oggetti e immagini.
    il numero di oggetti e immagini cambiano da foglio a foglio.
    che istruzione devo digitare per selezionarli e per copiarli su un altro file? Non posso copiare tutto perchè non voglio che il file di destinazione comprenda le formule.

    grazie mille :)



  • di patel data: 22/06/2016 07:39:23

    secondo me si fa prima a copiare tutto e poi nel file di destinazione si seleziona la zona formule e si fa copia e incolla valori
     
    se hai difficoltà allega un file di esempo e la macro già fatta






  • di MatteoM data: 22/06/2016 13:09:15

    Ci ho provato ma va in debug.
    ci sto provando in tutti i modi, sono anche riuscito a copiare solamente le forme, però quando vado ad incollare non mantengono la loro posizione.

     
    sub copia()
    dim shp as excel.shape
    ..
    tralascio i cicli for
    ..
    
    ChDir "percorso file da cui voglio copiare"
    Windows("percorso file da cui voglio copiare").Activate
    Sheets(i).Select
    nomefoglio = Sheets(i).Name
    Cells.Select
    Selection.Copy
    ChDir "percorso file destinazione"
    Windows("percorso file destinazione").Activate
    Sheets(i).Select
    Sheets(i).Name = nomefoglio
    Cells.Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    ChDir "percorso file da cui voglio copiare"
    Windows("percorso file da cui voglio copiare").Activate
    Sheets(i).Select
                for each shp in activesheet.shapes
                shp.copy
                oppure uso il comando sheets(i).shapes.selectall
    ChDir "percorso file destinazione"
    Windows("percorso file destinazione").Activate
    Sheets(i).Select
    selection.copy
    ..
    ..
    end sub()
    
    questo è quello che ho fatto.
    Grazie



  • di patel data: 22/06/2016 13:24:21

    per copiare tutto io intendevo copiare l'intero foglio, non il contenuto del foglio





  • di MatteoM data: 22/06/2016 15:21:20

    Si si ho capito.

    il problema è che se copio il contenuto del foglio mi porto dietro anche le formule, cosa che io non voglio.

    essendo presenti celle unite, non mi permette di sovrascrivere i valori sul foglio copiato, per cui ho bisogno di cercare una strada alternativa



  • di patel data: 22/06/2016 17:54:10

    devi copiare il foglio intero, poi vai sul foglio copiato e fai copia incolla valori. Tieni presente che le celle unite vanno poco d'accordo col vba.
    Se non riesci allega un file di esempio





  • di MatteoM data: 23/06/2016 16:42:42

    Niente........non va



  • di patel data: 23/06/2016 17:44:51

    Se non riesci allega un file di esempio