Memorizzare matrice



  • Memorizzare matrice
    di Alpha45 (utente non iscritto) data: 16/09/2009

    Salve a tutti,
    ho un piccolo problema: vorrei memorizzare una matrice in vb di excel 2007(senza usare un foglio per la mem.).
    sapete indicarmi quali istruzioni posso utilizzare per ottenere ciò?
    invio codice e ringrazio.

     
    [Sub Macro1()
    
    'Dim B(100) As Variant
    Static B(100)
    B(i) = Array(100)
    Cells(7, 14) = ""
    
    For i = 1 To 200
    
    ' converte le prime lettere in maiuscolo
    titdacontr = StrConv(Cells(4, 14), vbProperCase)
    a = titdacontr
    'b(i)= cells
    If B(i) = a Then Cells(7, 14) = "Esiste già!": GoTo fine:
    If B(i) = 0 Then B(i) = a: GoTo fine1
    
    Next i
    
    fine:
    Cells(4, 14) = "": GoTo fine2
    fine1:
    Cells(7, 14) = "OK"
    fine2:
    
    End Sub
    alpha45 
    New Entry
     
    Messaggi: 1
    Iscritto il: 16 set 2009, 11:42
    Messaggio privato



  • di Ricky53 data: 16/09/2009

    Ciao
    benvenuto nel forum.
    puoi spiegare meglio la tua esigenza.
    in particolare:
    tu vuoi eseguire la macro senza ....

    ciao da ricky53



  • di Alpha45 data: 16/09/2009

    Dunque, premetto che ero abituato con il vecchio basic...la mia domanda è la seguente: su un foglio ho fatto dei pulsanti che eseguono diverse macro richiamando altri fogli il tutto in un modulo standard.
    ora vorrei sapere quali istruzioni devo usare per memorizzare e comparare dei dati in una matrice dinamica che sia nascosta e che me la ritrovo quando riavvio l'applicazione.
    spero di essere stato chiaro e grazie per la collaborazione.
    ciao



  • di Ricky53 data: 16/09/2009

    Ciao,
    puoi spiegare in modo semplice ipotizzando che chi legge non conosca assolutamnte nulla (che poi è rispondente al vero)
    ciao da ricky53



  • di Big ronnie (utente non iscritto) data: 17/09/2009

    Ciao alpha45,

    potresti salvare la tua matrice in un file di testo per poi ricaricarla quando apri il file.
    vedi se queste macro e la mia idea ti vanno bene.

    ciao big
     
    'Inserisci tutto in modulo standard
    Public MatriceRecuperata()
    Sub MatriceInTesto()
    'ad ogni chiamata cancella il vecchio file txt
    fn = FreeFile
    Open ActiveWorkbook.Path & "" & "Matrice" & ".txt" For Output As #fn
    For I = LBound(TuaMatrice) To UBound(TuaMatrice)
    Print #fn, TuaMatrice(I)
    Next I
    Close #fn
    End Sub
    Sub TestoInMatrice()
    'scrivi il nome di questa macro nell'evento open in thisworkbook
    Dim a As String
    fn = FreeFile
    Open ActiveWorkbook.Path & "" & "Matrice" & ".txt" For Input As #fn
    Do Until EOF(fn)
    Line Input #1, a
    ReDim Preserve MatriceRecuperata(I)
    MatriceRecuperata(I) = a$
    I = I + 1
    Loop
    Close #fn
    End Sub