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

Formula ricorsiva per copiare contenuto celle di altri fogli

Ultimo Aggiornamento: 30/08/2019 19:20
Post: 1
Registrato il: 28/08/2019
Età: 54
Utente Junior
2010
OFFLINE
28/08/2019 14:18

Buongiorno a tutti.
Sto creando un nuovo file per la gestione di prenotazioni con un foglio per ogni settimana (fogli numerati da 1 a .....).
Il foglio è una matrice con operatori nelle colonne e giorno+ora di inizio dell'intervento sulle righe. Ciascuna cella della matrice contiene il nome del cliente gestito da quell'operatore in quel giorno a quell'orario.
A partire dal foglio 2 e per tutti i successivi, per ogni cella devo controllare se la stessa cella del foglio precedente sia vuota ovvero contenga il nome di un cliente: nel primo caso la lascio vuota, nel secondo caso copio il nome.
Ho utilizzato la funzione INDIRETTO come segue:

=SE(INDIRETTO("'"&$B$1& "'!C4")="";"";INDIRETTO("'"&$B$1& "'!C4"))

in B1 ho messo per semplicità il nome del foglio precedente.

Il problema è che così facendo devo riscrivere la formula in tutte le celle modificando la cella di riferimento e vorrei evitarlo.

Qualcuno piò aiutarmi?
Grazie
Post: 3.446
Registrato il: 03/04/2013
Utente Master
Excel 2000 - 2013
OFFLINE
29/08/2019 01:23

Salve @MauroU.
Non sono sicuro di aver interpretato correttamente la Tua richiesta; potresti provare con:

 =SE(INDIRETTO("'"&$B$1& "'!C" & RIF.RIGA())="";"";INDIRETTO("'"&$B$1& "'!C"& RIF.RIGA())) 

Nel caso in cui la mia proposta non sia conforme alla Tua richiesta dovresti, cortesemente, allegare un File senza Dati sensibili con alcuni Record significativi già inseriti e chiarissi ciò che desideri ottenere.



A disposizione.

Giuseppe

Windows XP - Excel 2000
Windows 10 - Excel 2013
Post: 1
Registrato il: 28/08/2019
Età: 54
Utente Junior
2010
OFFLINE
29/08/2019 08:10

Buongiorno GiuseppeMN.
Grazie per la risposta.
La formula funziona perfettamente per le righe della colonna C; se però la copio in un altra colonna (p.e. la D), mi riporta ancora i dati della C.
E' possibile fare in modo che il riferimento alla colonna del foglio precedente cambi in funzione della colonna in cui inserisco la formula?
Allego file

Grazie Ancora
Mauro
Post: 387
Registrato il: 15/01/2016
Città: ROMA
Età: 51
Utente Senior
2016
OFFLINE
29/08/2019 10:45

Buongiorno in C4 di ogni foglio da trascinare a destra e poi in basso


=SE(INDIRETTO("'"&$B$1& "'!"&INDIRIZZO(RIF.RIGA();RIF.COLONNA()))=0;"";INDIRETTO("'"&$B$1& "'!"&INDIRIZZO(RIF.RIGA();RIF.COLONNA())))
Post: 2
Registrato il: 28/08/2019
Età: 54
Utente Junior
2010
OFFLINE
29/08/2019 14:43

Grazie DaniloFiorini.
Risolto
Post: 3.447
Registrato il: 03/04/2013
Utente Master
Excel 2000 - 2013
OFFLINE
30/08/2019 19:20

Buona sera a Tutti.

A beneficio degli Utenti di Forum interessati a questa discussione, mi permetto di suggerire una soluzione in VBA.

Questo evita che, aggiornando manualmente un Record nei Fogli di lavoro:
- 1
- 2
- 3
la modifica non coinvolga le Formule interessate.

Questo Codice VBA potrebbe essere un buon punto di riflessione:

Option Explicit

Sub Copia()
On Error GoTo 10
Application.ScreenUpdating = False
    
    ActiveSheet.Previous.Select
    Application.Goto Reference:="Mese"
    Selection.Copy
        Cells(4, 4).Select
            ActiveSheet.Next.Select
                Cells(4, 4).Select
                    ActiveSheet.Paste
        Application.CutCopyMode = False
Application.ScreenUpdating = True
    Cells(4, 4).Select
        End
10:
    MsgBox "Non ci sono altri Fogli di lavoro."
        Application.CutCopyMode = False
Application.ScreenUpdating = True
    Cells(4, 4).Select
End Sub

L'esecuzione del Codice VBA può essere legata ad un Evento quindi attivarsi in automatico oppure legato ad un pulsante dedicato.



A disposizione.

Buona serata.

Giuseppe

Windows XP - Excel 2000
Windows 10 - Excel 2013
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 14:01. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com