Risultati da 1 a 15 di 15

Discussione: Copiare dati da un workbook ad un altro



  1. #1
    L'avatar di GioPL
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Varsavia
    Età
    42
    Messaggi
    68
    Versione Office
    Excell 2007
    Likes ricevuti
    0
    Likes dati
    23

    Cool Copiare dati da un workbook ad un altro

    Buon giorno "lavoratori" di excell.
    Problemino del giorno.
    Da un file (IR1, foglio Dati Output) prendo 9 dati su una riga e li copio in un altro file (IR2, foglio Dati) mettendoli sulla prima riga vuota.
    Sono riuscito cercando qua e la, a scrivere un programmino che funzion..icchia .
    Il problema e' la definizione della prima riga libera (Ur) nel file IR2.....non funge !
    Please help !
    Grazie.

    Codice: 
    Sub DANYDOIR2() 'scrittura dati da IR-1 a tabella di trasferimento IR-2
    Dim Ur As Long, Riga As Long
    Dim x As Integer
    Dim i As Integer
    Dim IR1 As Workbook
    Dim IR2 As Workbook
    Dim Sh1 As Worksheet
    Dim sh2 As Worksheet
    Set Sh1 = Worksheets("Dati Output")
    Set sh2 = Worksheets("Dati")
    
    Set IR2 = Workbooks.Open( _
    "C:\Users\R400\Desktop\WINDLOG doc vari\PROGRAMMI UFFICIO PER CODICI\IR-2.xlsx")
    
    Sh1.Unprotect ' sblocco pagina di lavoro
    Application.ScreenUpdating = False
    Ur = IR2.sh2.Range("A" & Rows.Count).End(xlUp).Row 'ricerca lunghezza tabella dati
    With Sh1
    Riga = 1 '1 riga dove ci sono i dati di INPUT giŕ preparati per il trasporto
    x = 1 + Ur 'prima riga libera nella tabella dati. La prima linea sara' sempre libera
    ' in quanto il conteggio della prima cella libera non puo' essere 0 quando
    'la tabella e' vuota !!
    For i = 1 To 9
    IR2.Worksheets("Dati").Cells(x, i) = Sh1.Cells(1, i)
    
    Next i
    End With
    Application.ScreenUpdating = True
    Sh1.Protect
    
    Set Sh1 = Nothing
    Set sh2 = Nothing
    IR2.Close
    End Sub
    Ultima modifica fatta da:ges; 04/08/16 alle 18:20 Motivo: Inserito codice nei TAG

  2. #2
    L'avatar di patel
    Clicca e Apri
    Data Registrazione
    Mar 2016
    Località
    Livorno
    Età
    72
    Messaggi
    1119
    Versione Office
    2010
    Likes ricevuti
    146
    Likes dati
    1

    Re: Copiare dati da un workbook ad un altro

    allega il file da caricare sprotetto

  3. #3

    L'avatar di ges
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Como
    Età
    53
    Messaggi
    7165
    Versione Office
    2011MAC 2016WIN
    Likes ricevuti
    2065
    Likes dati
    1304

    Re: Copiare dati da un workbook ad un altro

    Non mi è chiaro il tuo codice, prova a sostituirlo con queste modifiche.

    Codice: 
    Sub DANYDOIR2() 
    Dim Ur As Long, Riga As Long
    Dim Riga As Integer
    Dim i As Integer
    Dim IR1 As Workbook
    Dim IR2 As Workbook
    Dim Sh1 As Worksheet
    Dim sh2 As Worksheet
    
    
    Set IR1 = ThisWorkbook
    Set IR2 = Workbooks.Open(IR1.Path & "/" & "IR2.xlsx")
    
    
    Set Sh1= IR1.Worksheets("Dati Output")
    Set Sh1= IR2.Worksheets(“Dati”)
    
    
    Sh1.Unprotect 
    Application.ScreenUpdating = False
    Ur = IR2.sh2.Range("A" & Rows.Count).End(xlUp).Row +1 
    With Sh1
    Riga = 1 
    For i = 1 To 9
    Sh1.Cells(Ur, i) = Sh1.Cells(Riga, i)
    Riga=Riga +1
    Next i
    End With
    Application.ScreenUpdating = True
    Sh1.Protect
    
    
    Set Sh1 = Nothing
    Set sh2 = Nothing
    IR2.Close
    End Sub
    Però, come dice Patel, è meglio che alleghi un file sprotetto.
    Quando si scartano tutte le ipotesi possibili, quella che resta, anche se può sembrare improbabile, non può che essere quella giusta!

  4. #4
    L'avatar di patel
    Clicca e Apri
    Data Registrazione
    Mar 2016
    Località
    Livorno
    Età
    72
    Messaggi
    1119
    Versione Office
    2010
    Likes ricevuti
    146
    Likes dati
    1

    Re: Copiare dati da un workbook ad un altro

    GioPL
    se definisci
    Set Sh1 = Worksheets(1)
    Set sh2 = Worksheets(2)
    questi si riferiscono al documento su cui hai la macro e non al nuovo che devi ancora aprire

  5. #5

    L'avatar di ges
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Como
    Età
    53
    Messaggi
    7165
    Versione Office
    2011MAC 2016WIN
    Likes ricevuti
    2065
    Likes dati
    1304

    Re: Copiare dati da un workbook ad un altro

    Ciao Patel,
    ma il file da cui copiare i dati non è IR2 Foglio("Dati")?
    Forse ho capito male.
    Quando si scartano tutte le ipotesi possibili, quella che resta, anche se può sembrare improbabile, non può che essere quella giusta!

  6. #6
    L'avatar di patel
    Clicca e Apri
    Data Registrazione
    Mar 2016
    Località
    Livorno
    Età
    72
    Messaggi
    1119
    Versione Office
    2010
    Likes ricevuti
    146
    Likes dati
    1
    forse ho capito male io, occorrono ambedue i file

  7. #7
    L'avatar di GioPL
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Varsavia
    Età
    42
    Messaggi
    68
    Versione Office
    Excell 2007
    Likes ricevuti
    0
    Likes dati
    23

    Re: Copiare dati da un workbook ad un altro

    Ciao Patel e Ges. Scusate il ritardo...

    I due file non li ho messi perche' non sono importanti. Li allego comunque per correttezza.

    IR1: file da cui leggo i dati da A1 a I9 dal worksheet "Dati Output"

    IR2: file dove devo scrivere i dati da A1 a I9 nel worksheet "Dati"

    La macro viene eseguita da IR1. IR2 e' solo un file di appoggio dove copio i dati e richiudo.

    Cosi come e' all'istruzione di Ur =.... in debugger esce il comunicato "Error di run tim 438"

    Grazie
    File Allegati File Allegati

  8. #8

    L'avatar di ges
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Como
    Età
    53
    Messaggi
    7165
    Versione Office
    2011MAC 2016WIN
    Likes ricevuti
    2065
    Likes dati
    1304

    Re: Copiare dati da un workbook ad un altro

    Ciao GioLP,
    faccio prima a scrivere un codice nuovo.

    Sostituisci questo codice in IR-1

    Codice: 
    Sub Copia_in_IR_2()
        Dim WK1 As Workbook, WK2 As Workbook, sh1 As Worksheet, sh2 As Worksheet, uCol As Integer
            Application.ScreenUpdating = False
                Set WK1 = ThisWorkbook
                Set WK2 = Workbooks.Open(WK1.Path & "/" & "IR-2.xlsx")
                Set sh1 = WK1.Worksheets("Dati Output")
                Set sh2 = WK2.Worksheets("Dati")
                    uCol = sh1.Cells(1, Columns.Count).End(xlToLeft).Column
                        sh1.Range(sh1.Cells(1, 1), sh1.Cells(1, uCol)).Copy
                        sh2.Range("A1").PasteSpecial xlPasteValues
                Application.CutCopyMode = False
                WK2.Save
                WK2.Close
            Application.ScreenUpdating = True
        Set sh2 = Nothing
        Set sh1 = Nothing
        Set WK1 = Nothing
        Set WK2 = Nothing
    End Sub


    Tenendo il file IR-2 chiuso ti copierà il contenuto della riga dal file IR-1 a quello IR-2

    EDIT: Ho corretto il codice lo avevo copiato con due volte End sub
    Ultima modifica fatta da:ges; 05/08/16 alle 17:01 Motivo: Errore nella copiatura da modulo
    Quando si scartano tutte le ipotesi possibili, quella che resta, anche se può sembrare improbabile, non può che essere quella giusta!

  9. I seguenti utenti hanno dato un "Like"


  10. #9
    L'avatar di GioPL
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Varsavia
    Età
    42
    Messaggi
    68
    Versione Office
    Excell 2007
    Likes ricevuti
    0
    Likes dati
    23

    Re: Copiare dati da un workbook ad un altro

    Beh..io mi era costruito un bel castelletto con for/next che e' stato spazzato via da un piu' semplice....Copy.
    (semplice per te..per me vuol dire studio dei comandi per un oretta...)
    Pian piano ....forse.....ci arrivero' ad un livello di autodipendenza al 75%...
    Grazie ragazzi....

  11. #10

    L'avatar di ges
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Como
    Età
    53
    Messaggi
    7165
    Versione Office
    2011MAC 2016WIN
    Likes ricevuti
    2065
    Likes dati
    1304

    Re: Copiare dati da un workbook ad un altro

    Grazie del riscontro GioPL, vai avanti così che vedrai come ci riesci anche oltre le tue aspettative, l'importante è avere passione.
    Quando si scartano tutte le ipotesi possibili, quella che resta, anche se può sembrare improbabile, non può che essere quella giusta!

  12. #11
    L'avatar di GioPL
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Varsavia
    Età
    42
    Messaggi
    68
    Versione Office
    Excell 2007
    Likes ricevuti
    0
    Likes dati
    23

    Re: Copiare dati da un workbook ad un altro

    Ciao Ges ...e chi altro ci sente!

    Ho dimenticato il problema di IR2.
    I dati che vanno in IR2 vanno incolonnati. Cioe' Ogni volta che attivo questa macro, i 9 dati vengono messi nella prima riga libera di IR2.

    Ho inserito il calcolo della prima riga libera (Ur) e poi utilizzo il parametro per "incollare" i 9 dati nell'opportuna riga. Solo che esce un errore. Ho composto il composto secondo logica ma.....sembrerebbe non essere la logica VBA!


    Codice: 
    Sub DANYDOIR2() 'scrittura dati da IR-1 a tabella di trasferimento IR-2
    Dim WK1 As Workbook, WK2 As Workbook
    Dim sh1 As Worksheet, sh2 As Worksheet
    Dim uCol As Integer, Ur As Integer
    
    
    
    Application.ScreenUpdating = False
    Set WK1 = ThisWorkbook
    Set WK2 = Workbooks.Open(WK1.Path & "/" & "IR-2.xlsx")
    Set sh1 = WK1.Worksheets("Dati Output")
    Set sh2 = WK2.Worksheets("Dati")
    Ur = sh2.Range("A" & Rows.Count).End(xlUp).Row + 1 ' ricerca prima riga libera in IR2
    uCol = sh1.Cells(1, Columns.Count).End(xlToLeft).Column
    sh1.Range(sh1.Cells(1, 1), sh1.Cells(1, uCol)).Copy
    'sh2.Range("A1").PasteSpecial xlPasteValues
    sh2.Range(sh2.Cells(Ur, 1)).PasteSpecial xlPasteValues
    Application.CutCopyMode = False
    WK2.Save
    WK2.Close
    Application.ScreenUpdating = True
    Set sh2 = Nothing
    Set sh1 = Nothing
    Set WK1 = Nothing
    Set WK2 = Nothing
    End Sub
    Ultima modifica fatta da:ges; 05/08/16 alle 18:57 Motivo: Inserito codice tra i TAG

  13. #12
    L'avatar di patel
    Clicca e Apri
    Data Registrazione
    Mar 2016
    Località
    Livorno
    Età
    72
    Messaggi
    1119
    Versione Office
    2010
    Likes ricevuti
    146
    Likes dati
    1

    Re: Copiare dati da un workbook ad un altro

    Citazione Originariamente Scritto da GioPL Visualizza Messaggio
    I due file non li ho messi perche' non sono importanti. Li allego comunque per correttezza.
    I file sono importanti per testare il codice, ricordatelo subito la prossima volta
    in testa al forum c''è una barra gialla con scritto:
    In questa sezione è necessario inserire il codice VBA (tra i tag).....
    sono i tag Code rappresentati dall'icona #

  14. #13

    L'avatar di ges
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Como
    Età
    53
    Messaggi
    7165
    Versione Office
    2011MAC 2016WIN
    Likes ricevuti
    2065
    Likes dati
    1304

    Re: Copiare dati da un workbook ad un altro

    Citazione Originariamente Scritto da GioPL Visualizza Messaggio
    ..
    Ho dimenticato il problema di IR2.
    I dati che vanno in IR2 vanno incolonnati. Cioe' Ogni volta che attivo questa macro, i 9 dati vengono messi nella prima riga libera di IR2.
    Nessun problema, basta inserire una riga (uRiga)

    Codice: 
    Sub Copia_in_IR_2()
        Dim WK1 As Workbook, WK2 As Workbook, sh1 As Worksheet, sh2 As Worksheet
        Dim uCol As Integer, uRiga As Long
            Application.ScreenUpdating = False
                Set WK1 = ThisWorkbook
                Set WK2 = Workbooks.Open(WK1.Path & "/" & "IR-2.xlsx")
                Set sh1 = WK1.Worksheets("Dati Output")
                Set sh2 = WK2.Worksheets("Dati")
                    uCol = sh1.Cells(1, Columns.Count).End(xlToLeft).Column
                    uRiga = sh2.Cells(Rows.Count, 1).End(xlUp).Row + 1
                        sh1.Range(sh1.Cells(1, 1), sh1.Cells(1, uCol)).Copy
                        sh2.Cells(uRiga, 1).PasteSpecial Paste:=xlValues
               Application.CutCopyMode = False
                WK2.Save
                WK2.Close
            Application.ScreenUpdating = True
        Set sh2 = Nothing
        Set sh1 = Nothing
        Set WK1 = Nothing
        Set WK2 = Nothing
    End Sub
    Come dice Patel, che saluto, il codice va messo nei TAG # # .. sopra l'ho sistemato io.
    Quando si scartano tutte le ipotesi possibili, quella che resta, anche se può sembrare improbabile, non può che essere quella giusta!

  15. I seguenti utenti hanno dato un "Like"


  16. #14
    L'avatar di GioPL
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Varsavia
    Età
    42
    Messaggi
    68
    Versione Office
    Excell 2007
    Likes ricevuti
    0
    Likes dati
    23

    Re: Copiare dati da un workbook ad un altro

    Ciao Patel.
    Capito il messaggio. Per i file ok. Li mettero sempre anche se vuoti o con un solo dato! (d'altronde io chiedo aiuto.....!!)
    Per il codice VBA ....non lo sapevo. Sinceramente ho cercato ma non ho trovato il sistema di includere il codice VBA. Cosi facevo un semplice copia/incolla.
    La tua annotazione riguardante i tah # e' corretta ma, per la filosofia "user friendly", sarebbe opportuno che fosse sempre visibile quando si scrive una risposta nella sezione VBA. Adesso che me l'hai spiegata e' chiaro, ma a prima vista...un po' meno.
    Grazie comunque per le info.
    Saluti.

  17. #15
    L'avatar di GioPL
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Varsavia
    Età
    42
    Messaggi
    68
    Versione Office
    Excell 2007
    Likes ricevuti
    0
    Likes dati
    23

    Re: Copiare dati da un workbook ad un altro

    Come sempre ..grazie Ges.
    A patel ho gia' risposto.
    Grazie a tutti per le "dritte".
    Buon lavoro (per chi non e' in ferie).
    Salutoni.

Discussioni Simili

  1. Copiare dati univoci su altro foglio
    Di totorom1 nel forum Domande su Excel in generale
    Risposte: 11
    Ultimo Messaggio: 20/02/17, 16:20
  2. Copiare dati da un foglio ad un altro
    Di sergiogranero nel forum Domande su Excel VBA e MACRO
    Risposte: 2
    Ultimo Messaggio: 04/12/16, 10:35
  3. MACRO per copiare dati su un altro foglio
    Di mpaolett nel forum Domande su Excel VBA e MACRO
    Risposte: 3
    Ultimo Messaggio: 06/06/16, 20:46
  4. copiare celle con dati su altro foglio
    Di dorico75 nel forum Domande su Excel in generale
    Risposte: 4
    Ultimo Messaggio: 30/05/16, 18:20
  5. Copiare dati celle in colonne altro foglio
    Di Cavier80 nel forum Domande su Excel VBA e MACRO
    Risposte: 11
    Ultimo Messaggio: 22/05/16, 22:29

Tag per Questa Discussione

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •