Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

Aiuto Ottimizzazione

Ultimo Aggiornamento: 03/03/2017 09:22
Post: 111
Registrato il: 09/04/2015
Età: 45
Utente Junior
2013
OFFLINE
28/02/2017 12:40

Ciao a tutti,

la mia richiesta probabilmente sarà un po' fuori dal comune, ma ho un enorme problema.

Ho fatto, grazie al Vs aiuto (ve ne sarò sempre grato), un bel programmino per cui ho velocizzato enormente la gestione del nostro lavoro per l'intero ufficio... Siamo in 6 persone che ora lavoriamo su questo file, senza più nessuna perdita di dati o altre rotture varie che succedevano.

Le persone che mi hanno aiutato in qs programmino, sanno molto bene, che non sono proprio una cima di VBA ma grazie a loro sono cresciuto moltissimo. Ancora Grazie in particolare a: dodo47, patel45, alfrimpa, locatevaresino)!

Il mio grosso problema, come penso possiate immaginare, è la velocità (o meglio lentezza) di calcolo dopo appena 2 mesi che viene utilizzato e che continuiamo ad inserire dati nuovi.
Ora ci troviamo con un file che per ogni nuovo ordine inserito, compila 28 colonne. Ad oggi siamo a 750 righe x 28 colonne, una mole di dati discreta.

Volevo sapere se c'è qualche consiglio che potete darmi per cercare di ottimizzarlo.
Nella struttura del codice ho cercato di utilizzare il più possibile l'IF...elseif...ecc. per non far leggere parti di codice quando non necessari, però gran parte del codice lavora su range dinamici e quindi ho utilizzato anche molti cicli for...next e solamente un paio do...while/until.
Ci sono molti criteri di ricerca per fargli fare molte cose all'interno dello stesso file.

Le funzioni di questo codice sono le seguenti:
-form1: creare nuova riga con 28 voci (col.A è il riferimento numero ordine e col.B data di carico sono le 2 colonne dove gira la gran parte del codice)
-form2: modificare/creare note di credito ecc..
-form3: criteri vari di ricerca per generare gli elenchi più svariati
-form4/5: gestione pagamenti e calcolo commissioni
+ svariati casi con eccezioni alle regole generali...

In linea generale cosa mi potete consigliare per mantenerlo leggero?
Secondo voi è fattibile (o meglio risulterebbe più veloce) se magari spaccassi il file in 2, magari uno crea/modifica/elenchi e l'altro gestione pagamenti/commissioni?
Il mio dubbio è che partendo comunque da un contenitore di dati, adesso discreto, ma sempre più ampio, il problema non venga comunque raggirato.

Grazie mille e ciao a tutti
Post: 1.090
Registrato il: 06/04/2013
Utente Veteran
2010
OFFLINE
28/02/2017 13:33

Ciao

capisci bene che se non ci mandi un esempio (senza dati sensibili) ma completo di tutto, è ben difficile dare consigli....

saluti

[Modificato da dodo47 28/02/2017 13:34]
Domenico
Win 10 - Excel 2016
Post: 111
Registrato il: 09/04/2015
Età: 45
Utente Junior
2013
OFFLINE
28/02/2017 14:21

Eccolo in allegato!

Volevo evitarvi di controllare tutto il codice, che sicuramente sarà ricco di errori.

Pensavo magari che ci potessero essere dei consigli generali per l'ottimizzazione.

grazie
Post: 2.856
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Veteran
Excel 365
OFFLINE
28/02/2017 14:27

Shadi a me il tuo file va in debug all'apertura "Metodo dell'oggetto Global non riuscito" su questa riga

vb
vTemp = Worksheets("ELENCO").Cells(iRR, 1).Value


la variabile vTemp risulta vuota

e mi fa andare in crash Excel
[Modificato da alfrimpa 28/02/2017 14:29]

Alfredo
Post: 112
Registrato il: 09/04/2015
Età: 45
Utente Junior
2013
OFFLINE
28/02/2017 14:29

provo ad allegarlo nuovamente, a me si apre perfettamente
Post: 113
Registrato il: 09/04/2015
Età: 45
Utente Junior
2013
OFFLINE
03/03/2017 09:22

siete riusciti ad aprire il file?

è così incasinato il programma?!
Vota:
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Cerca nel forum
Tag discussione
Discussioni Simili   [vedi tutte]
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 16:32. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com