La consultazione del forum è libera per tutti.
Per poter porre un quesito è invece necessario essere un utente registrato (clicca qui se non lo sei).
Tutti gli utenti che richiedono un supporto, come da REGOLAMENTO, sono caldamente invitati ad allegare un file di esempio con l'indicazione di quello che si desidera ottenere.
Salve.
Vorrei inserire automaticamente i ciascun Foglio nel Pié di pagina a sinistra "Aggiornato al...." con la data che viene presa in una cella dello stesso Foglio. La data potrebbe essere il risultato di una formula oppure no. Naturalmente il Piè di pagina si dovrebbe aggiornare ogni volta che cambia il valore della cella di riferiemento.
Grazie a chi vorrà darmi un aiuto.
Giuseppe
Ovviamente serve una macro. Io avevo risolto così parecchio tempo fa:
Sub LeftFooter()
Dim Dte As String
Dte = Range("A1")
ActiveSheet.PageSetup.LeftFooter = Dte
Dte = Empty
ActiveSheet.PrintPreview
End Sub
Dte = Data, definita String o tende a invertire gg/mm (oggi: 07/04/2022 = 04/07/2022, annoso problema di excel con inversione eu/uk)
Per atre posizioni, in luogo di Footer: Header. In luogo di Left: Center, Right
Grazie della tu attenzione.
Ho provato il tuo codice ma non funziona. Non credo di avere sbagliato qualcosa. L'ho messo nel modulo del foglio interessato. Corretto?
Giuseppe
L'ho messo nel modulo del foglio interessato. Corretto?
No. Il modulo deve essere globale.
Alt+F11. Click destro su Visualizza, Gestione progetti. Click destro su Vba Project e quindi Inserisci > modulo. Nel nuovo modulo incolla il codice. In alternativa, se ci sono già dei moduli, click per aprirlo e incolla il codice dopo l'ultimo End Sub.
Quello che hai fatto tu funziona solo sul foglio in cui hai inserito il codice e non nel progetto globale.
Comunque la mia data sta in A1. Se invece sta in qualche altra parte del foglio (es.: J3) dovrai sostituire
Dte = Range("A1") con Dte = "Aggiornato il " & Range("J3").
Dimenticavo. La Sub deve essere lanciata (p.es.: in luogo di Anteprima dato che lancia l'anteprima già di per sé) altrimenti messa lì e basta non va in esecuzione autonomamente. In qualche modo bisognerà pur dirgli di eseguire quelle istruzioni...
Puoi inserire un tasto a cui abbinare la macro da eseguire. Click, parte il codice ed esegue l'anteprima con la sua data in basso a sinistra.
Grazie ancora.
In realtà il mio problema è che la posizione della data e la data stessa cambia nei diversi fogli. Così preferisco incollarla nel modulo di ciascun foglio.
Il limite mi pare però dato dal fatto che la macro non viene eseguita automaticamente, per esempio all'aggiornamento della cella di riferimento. Richiamarla per l'esecuzione in ciascun foglio (ne ho più di 40) è davvero poco pratico.
Giuseppe
Le soluzioni ci sono e se non ci sono si trovano.
Si può eseguire una macro al variare di una cella sul foglio (Worksheet_Change) e a questo punto la macro parte ogni volta che cambia il valore nella cella "data". E questa macro va inserita nel foglio e non nel modulo (anche se si potrebbe sistemare per metterla nei moduli, che sarebbe preferibile). Se alleghi un file di esempio si può vedere che fare...