Condividi:        

problema con riferimento circolare excel

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

problema con riferimento circolare excel

Postdi libraio » 30/07/11 20:30

Ciao a tutti,
chiedo la vs. cortese collaborazione per un problema che non riesco a risolvere. :(

Excel 2003
Il file seguente contiene una macro per filtrare i clienti con fornitura completa:
http://ul.to/u9kovspq
inserisco manualemente i dati da file esterno e lancio la macro "estrai" che filtra i dati ottenendo i clienti con fornitura completa. Fin qui tutto bene.
Quando, terminata l'operazione, annullo con apposita macro il filtro, mi appare un errore di riferimento circolare in riga 2, che non riesco a risolvere.
Qualcuno mi aiuta a trovare la soluzione? Grazie

Con l'occasione chiedo anche come si possano eliminare le colonne B-F-G, che in questo utilizzo non mi servono. Io ho fatto diversi tentativi, ma il foglio perde le sue funzioni!

Ultima domanda (esagero?...): poichè le righe dei nominativi variano ad ogni immissione, è possibile mettere un contatore alla funzione in colonna H?

Ringrazio chi vorrà dedicarmi un po' del suo tempo.
libraio
libraio
Utente Senior
 
Post: 329
Iscritto il: 04/01/10 20:31

Sponsor
 

Re: problema con riferimento circolare excel

Postdi Anthony47 » 30/07/11 23:51

Il link mi restituisce
Page not found
Error: 404

Nel frattempo ti suggerisco solo che se ti danno fastidio certe colonne, ma eliminandole il foglio non funziona bene, allora le puoi anche solo "Nascondere" (Menu /Formato /Colonne /Nascondi).

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

Re: problema con riferimento circolare excel

Postdi libraio » 01/08/11 16:04

Ben ritrovato Anthony,
spero che questo link funzioni:
myfreefilehosting.com/f/48e59f7381_2.03MB

Riguardo il nascondere le colonne inutili, ci avevo già pensato, ma preferirei un foglio "pulito" ed essenziale per l'applicazione a cui è rivolto (se solo riuscissi a risolvere i problemi esposti! :oops: )
Grazie
libraio
libraio
Utente Senior
 
Post: 329
Iscritto il: 04/01/10 20:31

Re: problema con riferimento circolare excel

Postdi Anthony47 » 02/08/11 01:05

I riferimenti circolari sono in A2 e H2.

Non avendo la minima idea di quale sia lo scopo della formula in A2, mi limito a dire che per evitare il rif circolare dovresti variare la parte CONTA.SE($A$2:IP2;IP2) in CONTA.SE($B$2:IP2;IP2).
Idem quella in H2, che e' anche piu' criptica: dato che la col A, a parte A2 che contiene un numero, contiene dei nomi/cognomi, e' evidente che le varie CONTA.SE(A:A;A2) o SOMMA.SE(A:A;A2;E:E) sono destinate a risultare perennemente 0.
La cosa piu' probabile e' che in H2 dovresti mettere 0 o lasciare vuoto e nelle H sottostanti non dovresti usare formulazioni del tipo CONTA.SE(A:A;Ax) ma piuttosto CONTA.SE(A$3:A$20000;Ax); tra l' altro ne guadagnerai anche in tempi di ricalcolo (il 20000 mi pare sia la tua stima di max righe; vedi anche la parte relativa all' ultima domanda).

In quanto a eliminare le col B-F-G, immagino che ci sia qualche macro che indirizza le celle in modo "assoluto", mentre le formule sono "relative"; voglio dire che ad esempio la parte CONTA.SE(IP:IP;IP2) della formula n A2, eliminando quelle tre colonne diventa CONTA.SE(IM:IM;IM2); se una macro continua a compilare la colonna IP e' evidente che la formula calcola altre cose.
Puoi o modificare le formule o modificare le macro (le macro sono state eliminate nel file pubblicato, a parte due); se non conosci al volo la sintassi puoi registrare una macro mentre applichi la formula.
La formula che applichi tramite la macro Estrai_clienti_completi diventerebbe ad esempio
Codice: Seleziona tutto
ActiveCell.FormulaR1C1 = _
        "=COUNTIF(R3C[-4]:R20000C[-4],RC[-4])-SUMIF(R3C[-4]:R20000C[-4],RC[-4],C[-1])+(COUNTIF(R3C1:RC[-4],RC[-4])>1)*1"


Avendo eliminato le col B-F-G probabilmente dovrai, questa formula, non inserirla in col H ma in col E, quindi modificherai nella macro Estrai_clienti_completi anche la Range("H1:H" & UR).Select in Range("E1:E" & UR).Select; anzi (visto che ti ho suggerito di togliere la formula in H2 e, aggiungo ora, quella in H1) modificherai in Range("E3:E" & UR).Select

Per "l' ultima domanda" (il contatore nelle formule di col H): poiche' le formule sono applicate dalla macro Estrai_clienti_completi, ti bastera' calcolare UR non su col H ma su col A:
Codice: Seleziona tutto
UR = Range("A" & Rows.Count).End(xlUp).Row
Pero' e' opportuno che prima inserisci anche un
Codice: Seleziona tutto
Range("H:H").Clear
(diventa Range("E:E").Clear se eliminando B-F-G vuoi mettere la nuova formula da E3 in giu').

Direi che hai qualche spunto da lavorarci su...

Ciao, fai sapere.
Avatar utente
Anthony47
Moderatore
 
Post: 19221
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: problema con riferimento circolare excel

Postdi libraio » 03/08/11 15:54

Tutto risolto!
Ringrazio Anthony per la "lectio magistralis"
libraio
libraio
Utente Senior
 
Post: 329
Iscritto il: 04/01/10 20:31


Torna a Applicazioni Office Windows


Topic correlati a "problema con riferimento circolare excel":


Chi c’è in linea

Visitano il forum: papiriof e 69 ospiti