macro 8copiaincolla



  • macro 8copia-incolla)
    di alek (utente non iscritto) data: 11/04/2016 16:13:36

    Buongiorno,
    dovrei copiare il contenuto del Foglio1, dal Foglio2 al Foglio3500.
    Il contenuto del Foglio1 contiene anche un'immagine e, facendo il copia incolla tradizionale per tutte i fogli, mi copia solo i dati, ma non l'immagine.
    Vorrei risolvere il problema, con una macro usando il for - next (da Folio2..a Foglio3500)
    Mi potete dare un informazione su come impostare la macro?
    Io riesco a farla. come indicato nel codice VBA sottostante, solo per un gruppo limitato di fogli.!!
    Ringraziando, saluto cordialmente.
    Alessio
     
    Cells.Select
    Selection.Copy
    Sheets("Foglio2").Select
    ActiveSheet.Buttons.Add(70,760.5,49,15.5).Select
    ActiveSheet.Paste
    Cells.Select
    Selection.Copy
    Sheets("Foglio3").Select
    ActiveSheet.Buttons.Add(70,760.5,49,15.5).Select
    ActiveSheet.Paste
    ecc....
    
    



  • di alfrimpa data: 11/04/2016 16:18:21

    Ciao Alessio

    Prova ad allegare un file di esempio ma non con 3.500 fogli e con il risultato desiderato.

    Ma davvero hai una cartella con 3.500 fogli? Un file del genere sarebbe, per me, ingestibile.

    Alfredo





  • di alek (utente non iscritto) data: 11/04/2016 17:44:45

    La cartella l'ho già compilata manualmente, facendo "copia- incolla" o con una macro come quella riportata, cambiando manualmente il numero dei fogli e alla fine funziona tutto perfettamente.
    Volevo però chiedere, a persone esperte come voi, se era possibile impostare un ciclo "for... Next, anche con un numero limitato di Fogli ad esempio 50...100 e proseguire in seguito fino ai 3500.
    Se mi potete impostare nella macro un ciclo for... next, io la proverei ad esempio per 10 fogli e, al limite, aumenterei il numero gradatamente, verificando il corretto funzionamento.
    Il Foglio 1 è quindi un "Modello" e non è detto che debba essere variato in tempi brevi.
    Nel caso occorresse, vorrei poterlo fare nel minor tempo possibile e non in manuale, come ho fatto in questo caso.
    Saluti cordiali
    Alessio





  • di patel data: 11/04/2016 17:54:27

    Invece di copiare il contenuto del foglio2 negli altri, ti potrebbe andare bene duplicare il foglio2 tante volte ?





  • di alek (utente non iscritto) data: 11/04/2016 18:01:59

    certamente



  • di patel data: 11/04/2016 18:31:15

    prova questa
     
    Sub FoglioDuplica()
    Set wk = ActiveWorkbook
    Set shtToCopy = wk.Sheets(2)
    For i = 1 To 5
      shtToCopy.Copy After:=wk.Sheets(Sheets.Count)
    Next
    
    End Sub






  • di alek (utente non iscritto) data: 12/04/2016 15:53:43

    Funziona benissimo il copia foglio, anche fino al 3500.
    A questo punto è possibile rinumerare con una macro i fogli, dal Foglio1 al Foglio1(3500), in Foglio1....Foglio3500 ?
    Così mi funzionerebbe anche la macro "indice" che mi permette, all'occorrenza, di cercare il singolo foglio con un collegamento ipertestuale e quindi di aprirlo.
    Ringraziando, saluto cordialmente.
    Alessio




  • di patel data: 12/04/2016 16:21:11

    eccola
     
    Sub FoglioDuplica()
    Set wk = ActiveWorkbook
    Set shtToCopy = wk.Sheets(2)
    For i = 1 To 5
      shtToCopy.Copy After:=wk.Sheets(Sheets.Count)
      ActiveSheet.Name = "Foglio" & i
    Next
    
    End Sub
    






  • di alek (utente non iscritto) data: 12/04/2016 18:50:37

    Grazie molte, va benissimo!!!

    Cordiali saluti
    Alessio