Scambio dati files Excelfra fikle



  • Scambio dati files Excelfra fikle
    di giamoros (utente non iscritto) data: 03/05/2014 20:25:56

    Ho necessità di scambiare dati fra due cartelle Excel.
    Il problema è che spesso le due cartelle e/o i loro fogli cambiano nome e questo mi obbliga sempre ha modificare la macro.
    Mi serve quindi la possibilità di sostituire le costanti delle cartelle e/o dei fogli con delle variabili.
    Questo scambio una volta attivato può avvenire in automatico varie volte nell'ambito delle giornata quindi sarebbe opportuno che la cartella di arrivo si chiudesse e si riaprirebbe automaticamente.
     
       Cells.Select
        Selection.Copy
        Workbooks.Open Filename:= _
            "E:NSDATIOFFICEEXCELNSFOGLIAll azioni Italia no DDE.xls"           '  prima cartella da rendere variabile
        Range("A1").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
        Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
            SkipBlanks:=False, Transpose:=False
        Windows("All azioni Italia93.xls").Activate                                                           '  seconda cartelle da rendere variabile
       GoTo altprova



  • di lepat (utente non iscritto) data: 04/05/2014 07:54:49

    cosa intendi per cartella variabile ? preferisci selezionare tu il file da aprire da una finestra di dialogo ?
    All azioni Italia93.xls è il file che contiene la macro ?


  • Scambio dati fra files Excel
    di giamoros (utente non iscritto) data: 04/05/2014 09:14:05

    Al posto di cartella deve intendersi file.
    Il nome di un file è All azioni Italia93.xls ed è questo che nell'istruzione Windows("All azioni Italia93.xls").Activate deve diventare una variabile ad esempio Windows("nome variabile").Activate dove nome variabile = All azioni Italia93.xls.
    Naturalmente questo vale anche per l'atro file.
    Non è importante se il nome variabile sia preso attraverso una finestra di dialogo o meno.
    La macro è nel file All azioni Italia93.xls.
    In attesa cordiali saluti.



  • di lepat (utente non iscritto) data: 04/05/2014 13:22:53

    non sono certo di aver capito bene perché mi sembra troppo banale, ma prova così
     
    sfile = "All azioni Italia no DDE.xls"
    set wb = thisworkbook
    Cells.Select
        Selection.Copy
        Workbooks.Open Filename:= _
            "E:NSDATIOFFICEEXCELNSFOGLI" & sfile 
        Range("A1").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
        Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
            SkipBlanks:=False, Transpose:=False
       wb.activate 
       GoTo altprova



  • di giamoros (utente non iscritto) data: 04/05/2014 20:00:54

    Chiedo scusa ma mi sono accorto che la richiesta fatta non corrisponde esattamente a ciò che volevo se non nella parte della variabilità del nome dei files.
    Spero ora di essere più chiaro e preciso.
    Il primo file dove risiede la macro si chiama:
    E:NSDATIOFFICEEXCELNSFOGLIAll azioni Italia93.xls
    Il primo foglio si chiama Quotazioni ed è quello da copiare valori e formati nel file di arrivo.
    E' composto da un numero variabile di 200-250 righe.
    Il secondo file si chiama:
    E:NSDATIOFFICEEXCELNSFOGL All azioni Italia no DDE.xls
    Il primo foglio si chiama Quotazioni no DDE ed i dati copiati andranno in questo foglio per cui poiché le righe sono diverse nelle varie copie credo che dovrà essere eliminato,ricreato e rinominato ad ogni copia al fine di non avere le ultime righe della copia precedente.
    In attesa di notizie cordiali saluti.

     
    sfile = "All azioni Italia no DDE.xls"
    set wb = thisworkbook
    Cells.Select
        Selection.Copy
        Workbooks.Open Filename:= _
            "E:NSDATIOFFICEEXCELNSFOGLI" & sfile 
        Range("A1").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
        Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
            SkipBlanks:=False, Transpose:=False
       wb.activate 
       GoTo altprova
    



  • di lepat (utente non iscritto) data: 04/05/2014 20:34:23

    l'hai provato il codice ? io non riscontro i problemi di cui parli



  • di giamoros (utente non iscritto) data: 05/05/2014 13:35:58

    Sembra che funzioni.
    Grazie