CopiaIncollaChiudi



  • Copia/Incolla/Chiudi
    di Kuotidiano (utente non iscritto) data: 05/04/2016 10:40:02

    Salve a tutti, è il primo post che scrivo quindi chiedo scusa anticipatamente per eventuali errori nella formulazione della domanda.

    Devo eseguire la seguente operazione:

    Devo copiare delle celle da una cartella
    Incollare le celle su un'altra cartella denominata "archivio"
    tornare sulla cartella da cui ho copiato le celle
    chiudere senza salvare la cartella.

    La cartella da cui copio i dati cambia continuamente nome.

    Ho provato con la funzione Dim che riporto ma non funziona


    Mi potete aiutare??

     
    Sub TRACCIATI2()
    '
    ' TRACCIATI2 Macro
    '
    ' Scelta rapida da tastiera: CTRL+q
    '
        
        Dim Partenza As String
        Partenza = ActiveWindows.Name
        Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
        Selection.Copy
        Windows("ARCHIVIO.xlsm").Activate
        Range("A6500").End(xlUp).Select
        ActiveCell.Offset(2, 0).Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
        Range("A6500").End(xlUp).Select
        ActiveCell.Offset(2, 0).Select
        Windows(Partenza).Activate
        ActiveWindow.Close SaveChanges:=False
    End Sub



  • di alfrimpa data: 05/04/2016 12:00:57

    Ciao Kuotidiano

    Dovresti allegare i due file di esempio (senza dati sensibili) per poter testare la macro.

    L'istruzione Dim dichiara semplicemente la variabile; tu che errore ricevi?

    Alfredo





  • di kuotidiano data: 05/04/2016 13:10:47

    Il primo allegato è il file "tipo" che cambia continuamente nome che esce dal mio gestionale (TB01_20160405_130446.xls)
    Il secondo allegato è il file dove devo copiare i dati processati dalla prima parte della macro (ARCHIVIO_2)

    La Macro che eseguo è la "tracciati" CTRL+a



  • di alfrimpa data: 05/04/2016 14:25:21

    Ciao Kuotidiano

    Prova con la macro qui sotto (viene copiato l'intero foglio e non singole colonne) aprendo prima il file Archivio_2.xlsm e poi l'altro.

    Alfredo
     
    Sub TRACCIATI2()
    '
    ' TRACCIATI2 Macro
    '
    ' Scelta rapida da tastiera: CTRL+q
    '
        
        Dim Partenza As String
        Windows(2).Activate
        Partenza = ActiveWorkbook.Name
        Range("a1").Select
        Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
        Selection.Copy
        Windows("ARCHIVIO_2.xlsm").Activate
        Range("A6500").End(xlUp).Select
        ActiveCell.Offset(2, 0).Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
        Range("A6500").End(xlUp).Select
        ActiveCell.Offset(2, 0).Select
        Windows(Partenza).Activate
        ActiveWindow.Close SaveChanges:=False
    End Sub
    
    






  • di alfrimpa data: 05/04/2016 14:36:08

    Ciao

    Ho provato a variare l'ordine di apertura dei file e questo sembra essere indifferente ai fini del funzionamento della macro.

    Ho anche inserito l'istruzione Application.DisplayAlerts = False e Application.DisplayAlerts = True
    per evitare la visualizzazione di messaggi di errore.

    Prova un po' e fai sapere perché la macro va sicuramente modificata.

    Ma tu il file da cui fare la copia lo apri manualmente?

    Alfredo
     
    Sub TRACCIATI2()
    '
    ' TRACCIATI2 Macro
    '
    ' Scelta rapida da tastiera: CTRL+q
    '
        
        Dim Partenza As String
        Application.DisplayAlerts = False
        Windows(2).Activate
        Partenza = ActiveWorkbook.Name
        Range("a1").Select
        Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
        Selection.Copy
        Windows("Kuot_ARCHIVIO_2.xlsm").Activate
        Range("A6500").End(xlUp).Select
        ActiveCell.Offset(2, 0).Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
        Range("A6500").End(xlUp).Select
        ActiveCell.Offset(2, 0).Select
        Windows(Partenza).Activate
        ActiveWindow.Close SaveChanges:=False
        Application.DisplayAlerts = True
    End Sub
    






  • di kuotidiano data: 05/04/2016 14:45:49

    Ciao Alfredo, tanto per cominciare ti ringrazio per l'aiuto.

    Il file "sorgente" si apre in automatico al momento del l'export dal mio gestionale.

    Lavoro con il file Archivio aperto, sul file sorgente eseguo la macro e mi copio i dati su Archivio.

    Mi serve chiudere il file per non ritrovarmi decine di file aperti dato che finita la macro chiedo al gestionale di esportare una nuova struttura e si apre una nuova cartella.

    É un'operazione che devo ripetere per circa 800 strutture.

    In questo momento sono fuori, appena rientro in ufficio provo ad eseguire il codice che mi hai inviato.

    Grazie.



  • di kuotidiano data: 05/04/2016 18:35:40

    Ciao Alfredo, ho leggermente modificato il codice da te indicato, ho tolto la riga che trovi nel box, e tutto funziona alla perfezione.

    Grazie mille.
     
    Windows(2).Activate