rendere un range dinamico
Hai un problema con Excel? 
rendere un range dinamico
di muttley (utente non iscritto) data: 22/09/2013 21:15:02
Un saluto a tutto il forum,
Avrei l'esigenza di rendere dinamico il range della colonna A in excel in modo che all'immissione dei nuovi dati non vada a ogni volta a modicare la formula che allego sotto:
=SE($A2<>"";SE(VAL.NON.DISP(CERCA.VERT($A2;Foglio1!$A$2:$A$40500;1;FALSO));"Codice non trovato";"");"").
Nel foglio 1 ho inserito nella colonna G la formula (CONTA.VALORI(A:A)-1) in modo da avere l'ultima riga piena.
Come dovrei modificare il range della formula $A$2:$A$40500 e agganciarlo alla cella G in modo che si aggiorni automaticamente ?
Ho letto su internet che potrei usare la funzione scarto ma non riesco a capire come abbinarlo alla mia formula.
Non so se mi sono spiegato bene.
Ringrazio chiunque mi dia un consiglio.
di paolomath data: 23/09/2013 08:52:04
Ciao, non ho capito bene quello che fai, al posto di:
Foglio1!$A$2:$A$40500
puoi usare
SCARTO(Foglio1!$A$2;0;0;NUMERO_DI_RIGHE_DA_CONTROLLARE;1)
dove in NUMERO_DI_RIGHE_DA_CONTROLLARE metti la cella in cui hai il totale delle righe.
Bye.
di muttley data: 23/09/2013 14:08:24
Ciao paolomath,grazie per avermi risposto.
Mi spiego meglio.
Nel foglio1 importo settimanalmente il listino prezzi tramite macro.Causa inserimento di nuovi articoli le righe aumentano di volta in volta.
Nel foglio2 inserisco il codice articolo che tramite la formula che ti ho postato lo confronto con i codici presenti nel foglio1 e se il codice non è presente mi restituisca la scritta codice non trovato.Se tutto ok tramite un'altra macro estraggo anche le altre colonne che compongono il listino.Vorrei appunto che l'ultima riga del range della formula si adeguasse di volta in volta all'ultima riga importata.
Grazie di nuovo.
Saluti.
di gaetanopr data: 23/09/2013 14:31:34
cit>>Vorrei appunto che l'ultima riga del range della formula si adeguasse di volta in volta all'ultima riga importata.
Non entrando nel merito della funzione credo che abbia bisogno della funzione INDIRETTO, supponendo che in G1 tieni conto dell'ultima riga compilata la formula dovrebbe essere in questo modo:
Variando la cella G2 varia pure la matrice della formula
CERCA.VERT($A2;INDIRETTO("Foglio1!$A$1:$A"&G1);1;FALSO)
|
di muttley data: 23/09/2013 19:43:13
Ciao gaetanopr
Ho provato la formula da te consigliata =SE($A2<>"";SE(VAL.NON.DISP(CERCA.VERT($A2;INDIRETTO("Foglio1!$A$1:$A"&G1);1;FALSO));"Codice non trovato";"");"") ma non funziona, non mi restituisce la scritta Codice non trovato,comunque ho variato la formula in questo modo evitando ti tener conto della cella G :
=SE($A2<>"";SE(VAL.NON.DISP(CERCA.VERT($A2;Foglio1!$A:$A;1;FALSO));"Codice non trovato";"");"") in questo modo riesco a farla funzionare.
Aspetto comunque una tua risposta per sapere dove sbaglio.
Grazie comunque.
Saluti,muttley
di gaetanopr data: 23/09/2013 19:57:01
Ciao muttley, l'ho appena provato e funziona naturalmente G1 deve essere avvalorato
=SE($A2<>"";SE(VAL.NON.DISP(CERCA.VERT($A2;INDIRETTO("Foglio1!$A$1:$A"&G1);1;FALSO));"Codice non trovato";"");"") |
di muttley data: 23/09/2013 22:36:55
Buona sera Gaetanopr.
Ho provato ad incollare la formula il range funziona mi estrae i dati fino all'ultima riga,ma il confronto del codice no.
Se provo ad immettere un codice non presente nel foglio1 non appare niente.
Comunque approfondirò domani quando avrò qualche minuto libero.
Grazie per ora .
Vuoi Approfondire?