Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    141

    Excel - passaggio variabile da 2 diversi progetti

    Se in un file excel associo la variabile con la routine, nel modulo di nome "Modulo1"

    Public a As Integer
    Public Sub CaricaVariabile()
    a = 11
    End Sub

    ed in altro file Excel elaboro tale variabile

    Public Sub Elaborazione()
    Public Sub CaricaVariabile()
    a = 11
    Modulo1.a =Modulo1.a+1
    End Sub

    il risultato non è "12" ma "1".
    Come faccio a richiamare una variabile definita prima come pubblica nella seconda routine che è di un progetto diverso?!?
    La vita è come la scaletta di un pollaio: in salita, corta e piena di m***a!!

  2. #2
    Il primo progetto, quello in cui definisci la variabile, deve essere inserito nei riferimenti del secondo.

    Ricorda però di rinominare il primo progetto, se lasci il soloito VBAProject puoi creare confusione.

    Ciao.
    La preoccupazione dell'uomo e del suo destino devono sempre costituire l'interesse principale di tutti gli sforzi tecnici. Non dimenticatelo mai in mezzo a tutti i vostri diagrammi ed alle vostre equazioni.

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    141
    scusa, mi digiti il codice di come fare il riferimento al primo progetto di cui parli...non ho capito come fare...
    ti ringrazio
    La vita è come la scaletta di un pollaio: in salita, corta e piena di m***a!!

  4. #4
    Nessun particolare codice, tento di spiegarmi meglio.

    Ammettiamo che il primo progetto sia contenuto un un file XLA di nome Test e che il nome del progetto sia VBATest. In questo progetto è contenuto il seguente codice in un modulo:
    codice:
    Public lngTest As Long
    
    Public Sub Carica()
        lngTest = 11
    End Sub
    Nel secondo progetto, ammmettiamo che sia contenuto in un file XLA di nome Cartel1, devi mettere fra i riferimenti il primo progetto:
    Attiva l'editor di VBA, dal Menu Strumenti -> Riferimenti metti il flag su VBATest.
    Ovviamente i due file di Excel devono essere aperti contemporaneamente

    Ora nel secondo progetto, in un modulo, puoi inserire il seguente codice:
    codice:
    Public Sub Pippo()
    Dim lngTest As Long
        VBATest.Carica
        lngTest = VBATest.lngTest + 1
    End Sub
    Ti assicuro che lngTest vale 12

    Ciao.
    La preoccupazione dell'uomo e del suo destino devono sempre costituire l'interesse principale di tutti gli sforzi tecnici. Non dimenticatelo mai in mezzo a tutti i vostri diagrammi ed alle vostre equazioni.

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    141
    grazie proverò...anche perchè ho fatto l'esempio su Excel ma il mio problema è su AutoCAD...comunque la soluzione dovrebbe essere simile...ciao
    La vita è come la scaletta di un pollaio: in salita, corta e piena di m***a!!

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    141
    perdona l'ignoranza, ma il tuo codice non mi funziona...ovviamnte la scritta "VBATest.Carica" è un'espressione "maccheronica" per farmi capire il codice da mettere ma io non so cosa mettere...mi dici cosa fare per favor??
    Esiste qualche cosa tipo "load"?? Devo aprire il file Excel contennente la 1° routine oppure è possibile (in quale modo) aprire solo il progetto "VBAtest" in qualche modo?? :master: Grazie1000


    Public Sub Pippo()
    Dim lngTest As Long
    VBATest.Carica
    lngTest = VBATest.lngTest + 1
    End Sub
    La vita è come la scaletta di un pollaio: in salita, corta e piena di m***a!!

  7. #7
    anche perchè ho fatto l'esempio su Excel ma il mio problema è su AutoCAD
    Non sono sicuro che in Acad funzioni allo stesso modo, ma penso di si.

    VBATest (nome del tutto arbitrario, puoi mettere quello che vuoi) e il nome del progetto che contiene la tua variabile pubbica, quella che vuoi modificare nel secondo progetto.

    Entrambi i file (progetti) devono essere aperti contemporaneamente, come ti avevo già detto.

    VBATest (o il nome che hai scelto) deve essere inserito nei riferimenti del secondo progetto, quello in cui vuoi modificare la variabile.

    Se fai così funziona di sicuro.
    Ciao.
    La preoccupazione dell'uomo e del suo destino devono sempre costituire l'interesse principale di tutti gli sforzi tecnici. Non dimenticatelo mai in mezzo a tutti i vostri diagrammi ed alle vostre equazioni.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.