Condividi:        

MATRICE DI DATI SEMPRE OPERATIVA

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

MATRICE DI DATI SEMPRE OPERATIVA

Postdi cd7019 » 28/01/14 23:28

ciao,

Non riesco a rendere sempre "attiva" una matrice di dati.
La sequenza delle operazione:
a) apro il mio file di lavoro
b) automaticamente apre il file MAGAZZINO
c) legge tutte le celle e le trasferire in una matrice MAG(). (DOMANDA: C'E' UN METODO + VELOCE x LEGGERE TUTTI I DATI?)
d) chiudo il file MAGAZZINO
e) ***** VORREI CONTINUARE SEMPRE A LEGGERE NELLA MATRICE MAG(), CARICANDO LE INFORMAZIONI DESIDERATE ANCHE SU PIU' FOGLI PERO' CON PUBLIC NON FUNZIONA.


Codice: Seleziona tutto
Public MAG(20000, 10) As String

Private Sub Workbook_Open()
    Dim MAG(20000, 10) As String
    Workbooks.Open FileName:="C:\MAGAZZINOI.xls"
    For J = 1 To 10
        For I = 1 To 20000
            MAG(I, J) = Cells(I + 3, J)
        Next I
    Next J
    Workbooks("MAGAZZINO.XLS").Close SaveChanges:=False
End Sub


Grazie infinitamente.
EXCEL 2003
cd7019
Utente Senior
 
Post: 232
Iscritto il: 26/06/12 21:38

Sponsor
 

Re: MATRICE DI DATI SEMPRE OPERATIVA

Postdi ricky53 » 29/01/14 00:42

Ciao,
la definizione della matrice come Public va fatta in un Modulo.

La definizione della matrice è errata, va fatta in questo modo
Public MAG(20000, 10)

Devi cancellare la definizione della matrice nella macro "Workbook_Open"
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia

Re: MATRICE DI DATI SEMPRE OPERATIVA

Postdi Anthony47 » 29/01/14 01:22

Guarda il messaggio di Ricky, sopra, a proposito della corretta dichiarazione di una variabile Public.
Per caricare la matrice in un sol colpo:
Codice: Seleziona tutto
'. . . .
MAG = Range("A1:J20000").Value
'. . . .

In questo caso, pero', la variabile va dichiarata senza dimensioni, cioe' come
Codice: Seleziona tutto
Public MAG()


Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19223
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: MATRICE DI DATI SEMPRE OPERATIVA

Postdi cd7019 » 29/01/14 23:35

ciao,

Ho provato in due modi ma non mi funziona:

1) ho copiato tutto in un "MODULO1" , non mi riconosce la matrice MAG:
Codice: Seleziona tutto
Public MAG()
Private Sub Workbook_Open()
MYDIR = ThisWorkbook.Path & "\"
DIRMAG = MYDIR & "MAGAZZINO\"
FILE_LAV = ActiveWorkbook.Name
myFile = Dir(DIRMAG & "MAGAZZINO.xls?")
Workbooks.Open (DIRMAG & myFile)
MAG = Range("A5:M20000").Value
Workbooks(DIRMAG & myFile).Close savechanges = False

End Sub

Sub PROVA()
For I = 1 To 20
    For J = 1 To 12
        Cells(13 + I, 23 + J) = MAG(I, J)
    Next J
Next I
End Sub


2) ho copiato il seguente listato in THISWORKBOOK:
Codice: Seleziona tutto
Private Sub Workbook_Open()
MYDIR = ThisWorkbook.Path & "\"
DIRMAG = MYDIR & "MAGAZZINO\"
FILE_LAV = ActiveWorkbook.Name
myFile = Dir(DIRMAG & "MAGAZZINO.xls?")
Workbooks.Open (DIRMAG & myFile)
MAG = Range("A5:M20000").Value
Workbooks(DIRMAG & myFile).Close savechanges = False
End Sub


e ho definito la matrice MAG in "MODULO1"
Codice: Seleziona tutto
Public MAG()


>> ERRORE DI COMPILAZIONE: IMPOSSIBILE ASSEGNARE ALLA MATRICE

GRAZIE
EXCEL 2003
cd7019
Utente Senior
 
Post: 232
Iscritto il: 26/06/12 21:38

Re: MATRICE DI DATI SEMPRE OPERATIVA

Postdi ricky53 » 29/01/14 23:57

Ciao,
l'impostazione corretta è la "2".
Io, provando il tuo codice, non ho errori nel caricare la matrice "MAG"

L'istruzione
Codice: Seleziona tutto
Workbooks(DIRMAG & myFile).Close savechanges = False
è errata
va scritta così
Codice: Seleziona tutto
Workbooks(myFile).Close savechanges = False



Invia un tuo file di esempio, senza dati riservati, così lo possiamo provare.
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia

Re: MATRICE DI DATI SEMPRE OPERATIVA

Postdi Anthony47 » 30/01/14 00:35

Il fatto e' che nella firma l' utente da l' impressione di usare XL2003, in realta' usa XL97, una cosa vecchia di 15 anni...
Prova a dichiarare MAG come variant:
Codice: Seleziona tutto
Public MAG

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19223
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: MATRICE DI DATI SEMPRE OPERATIVA

Postdi ricky53 » 30/01/14 12:32

Ciao,
VERO. Un un'altra discussione era stato affrontato il discorso della versione ...
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia

Re: MATRICE DI DATI SEMPRE OPERATIVA

Postdi cd7019 » 30/01/14 19:31

ciao,
avete ragione, con excel 2003 funziona perfettamente.

grazie ancora.
EXCEL 2003
cd7019
Utente Senior
 
Post: 232
Iscritto il: 26/06/12 21:38

Re: MATRICE DI DATI SEMPRE OPERATIVA

Postdi ricky53 » 30/01/14 19:39

Ciao,
BENE.

Buon proseguimento ed alla prossima.
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia


Torna a Applicazioni Office Windows


Topic correlati a "MATRICE DI DATI SEMPRE OPERATIVA":


Chi c’è in linea

Visitano il forum: Nessuno e 65 ospiti

cron