Funzionamento variabili



  • Funzionamento variabili
    di Simone (utente non iscritto) data: 18/05/2017 14:25:47

    Buongiorno a tutti!

    Sto cercando di gestire grazie al vba dei database, in particolare vorrei aprire, copiare, incollare e chiudere questi database

    Ho impostato il vba in questo modo

    dim path, nomefile, nomefoglio
    set path = *indirizzo del file*
    set nomefile = *nome del file*
    set nomefoglio = *nome del foglio*


    Il problema è che scrivendo

    Workbooks(nome esteso del file).worksheets(nome esteso del foglio).range(il range che mi interessa). copy

    il vba funziona, ma scrivendo utilizzando il nome che ho dato alle variabili

    workbooks(nomefile).worksheets(nomefoglio).range(range).copy

    mi restituisce l'errore "proprietà o metodo non supportati dall'oggetto"

    mi è capitato più volte di riscontrare questo tipo di errore, ogni volta che provo ad impostare delle variabili, ed ogni volta mi viene restituito questo tipo di errore.
    Ho invece notato che ad altre persone, che impostano il vba come me, quando impostano delle variabili ad esempio

    set nomefoglio = worksheets(nome del foglio)

    quando digitano "nomefoglio." gli viene aperto il menù a tendina con i vari suggerimenti ".activate, ecc ecc"

    Potreste dirmi dove sbaglio o come correggere l'errore?

    Grazie in anticipo



  • di patel data: 18/05/2017 14:51:21

    set serve soltanto per istanziare oggetti, non stringhe, quindi potrai usarlo per es
    set rng = range("A1")
     
    path = *indirizzo del file*
    nomefile = *nome del file*
    nomefoglio = *nome del foglio*






  • di Simone (utente non iscritto) data: 18/05/2017 17:01:37

    in questo caso però copiando un numero di celle da un altro file e scrivendo:

    workbooks(nomefile).worksheets(nomefoglio).range("A1").pastespecial

    mi viene restituito errore.. qual è la maniera corretta di scriverlo?



  • di patel data: 19/05/2017 15:24:35

    rimani troppo sul vago, quale errore ? allega un file di esempio con la macro in modo da poterla testare