Condividi:        

Adattare Worksheet

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

Re: Adattare Worksheet

Postdi Simo1 » 30/05/20 06:49

A bhe in teoria poi il settimanale ovviamente è per le settimane del mese.... Il file che ti ho allegato era come esempio.... Hehehehe scisami se ho omesso questo particolare :-)
Simo1
Utente Junior
 
Post: 75
Iscritto il: 21/11/18 08:41

Sponsor
 

Re: Adattare Worksheet

Postdi Simo1 » 30/05/20 11:29

Comunque a parte tutto..... Come posso fare a dire alla funzione che se è vera =CERCA.ORIZZ(AO$5;$D$1:$AH$40;RIF.RIGA(A1)+3;0) restituisce il turno del giorno corrispettivo nel mese e se no deve restituire il 1 giorni del mese successivo =CERCA.ORIZZ('febbraio'! AO$5;'febbraio'!$D$1:$AH$40;RIF.RIGA(A1)+3;0) in pratica devono comunicare per restituire il valore corretto.
Simo1
Utente Junior
 
Post: 75
Iscritto il: 21/11/18 08:41

Re: Adattare Worksheet

Postdi Anthony47 » 30/05/20 23:14

Se non capisco come sono organizzati i tuoi dati mi devo fermare a quanto gia' suggerito, in formule on in macro, nei messaggi precedenti.
Se vuoi creare un indirizzamento che punta "al foglio successivo" si puo' procedere con una "funzione speciale"; ad esempio:
Codice: Seleziona tutto
Function NSRef(ByRef myRan As Range) As Range
Set NSRef = Sheets(myRan.Parent.Index + 1).Range(myRan.Address)
End Function
Il codice va messo in un Modulo standard del vba, poi nelle tue formule puoi usare NSRef che, dato un riferimento, lo trasforma in un riferimento "al foglio successivo"
Quindi se in una formula che posizioni su Foglio1 usi NSRef(A2) otterrai un riferimento a Foglio2!A2

Quindi, andando alla tua domanda, il primo pezzo della formula finale lo scriverai come
Codice: Seleziona tutto
CERCA.ORIZZ(AO$5;$D$1:$AH$40;RIF.RIGA(A1)+3;0)


Mentre per il secondo, CERCA.ORIZZ('febbraio'! AO$5;'febbraio'!$D$1:$AH$40;RIF.RIGA(A1)+3;0), userai
Codice: Seleziona tutto
CERCA.ORIZZ(NSRef(AO$5);NSRef($D$1:$AH$40);RIF.RIGA(A1)+3;0)


Poi userai Val.Errore per comporre il primo col secondo:
Codice: Seleziona tutto
=SE(VAL.ERRORE(CERCA.ORIZZ(AO$5;$D$1:$AH$40;RIF.RIGA(A1)+3;0);CERCA.ORIZZ(NSRef(AO$5);NSRef($D$1:$AH$40);RIF.RIGA(A1)+3;0); CERCA.ORIZZ(AO$5;$D$1:$AH$40;RIF.RIGA(A1)+3;0))


Eventualmente inglobi tutto in SE.ERRORE:
Codice: Seleziona tutto
=SE.ERRORE(LaFormulona;"")


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

Re: Adattare Worksheet

Postdi Simo1 » 01/06/20 10:46

Buongiorno Anthony.... La funzione da inserire nel modulo VBA nn va.... Cmq ho risolto adattando la formula completa del SE(VAL.ERRORE adattandola ai miei fogli e funziona bene inserendola in cella e trascinando le formule cambiando poi i riferimenti sul mese in corso, mese precedente e mese successivo ;-) grazie mille del tuo tempo e supporto sempre il migliore.
Simo1
Utente Junior
 
Post: 75
Iscritto il: 21/11/18 08:41

Re: Adattare Worksheet

Postdi Simo1 » 01/06/20 10:50

E fattibile usare la stessa formula per inserirla nella formattazione condizionale dicendogli che se trova <=R mi cambia il colore e il formato? Naturalmente in settimana in settimana sul foglio del mensile xo :-)
Simo1
Utente Junior
 
Post: 75
Iscritto il: 21/11/18 08:41

Re: Adattare Worksheet

Postdi Anthony47 » 01/06/20 15:05

La NSRef l'ho collaudata e nei file di test ha funzionato; invece che "non funziona" sai dettagliarne il comportamento? Questo ti consentirebbe di usare le stesse formule su tutti i fogli, senza modificare manualmente il riferimento al foglio.

Quanto all'uso nella formattazione condizionale, tieni presente che in formattazione condizionale si valuta il risultato Vero /Falso; quindi in linea di massima puoi usare le stesse tecniche, ma articolando la formula in modo diverso.

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

Re: Adattare Worksheet

Postdi Simo1 » 01/06/20 21:05

E purtroppo ho scritto non mi funziona xke non mi da alcun riscontro in pratica non fa nulla. Avrò sbagliato sicuramente io a sistemarla. Però come già detto ho risolto adattando la formula ai fogli ;-)

Per la formattazione.... Ossia uso la stessa formula cambiando i parametri di ricerca?

=SE(VAL.ERRORE(CERCA.ORIZZ(AO$5;$D$1:$AH$40;RIF.RIGA(A1)+3;0);CERCA.ORIZZ(NSRef(AO$5);NSRef($D$1:$AH$40);RIF.RIGA(A1)+3;0); CERCA.ORIZZ(AO$5;$D$1:$AH$40;RIF.RIGA(A1)+3;0))

In questa formula come posso farmi dire dato il valore da ricercare R se inferiore o uguale a uno? La restituzione della formattazione sarà rossa in corsivo

Grazie e buona serata
Simo1
Utente Junior
 
Post: 75
Iscritto il: 21/11/18 08:41

Re: Adattare Worksheet

Postdi Anthony47 » 01/06/20 23:49

Porta pazienza, ma questa formula io non so su che base dati lavora; da quello che hai scritto nei messaggi so che cerca qualcosa nel foglio "corrente" ma se non la trova la cerca nel foglio "successivo" (il lavoro che dovrebbe fare la Funzione NSRef). Come tutto questo abbia a che vedere con il valore R da ricercare non lo so.
Se pero' con R tu alludi al valore restituito dalla formula, allora per sapere se il valore e' inferirore o uguale a 1 allora potrai usare semplicemente la formula =(QualeCella<=1)

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

Precedente

Torna a Applicazioni Office Windows


Topic correlati a "Adattare Worksheet":


Chi c’è in linea

Visitano il forum: Nessuno e 18 ospiti