[Risolto] Funzione OGGI()

Discussioni sull'applicazione per i fogli di calcolo
Rispondi
ghost38
Messaggi: 30
Iscritto il: giovedì 6 aprile 2017, 16:46

[Risolto] Funzione OGGI()

Messaggio da ghost38 »

Per lavoro ho un file di registro in cui vanno inseriti dei codici e salvati. Per automatizzare un po' il processo ho deciso di usare la funzione OGGI() per inserire la data, in quanto obbligatoria.
Ogni volta che viene registrato un codice in A nella rispettiva cella in B viene inserita la data odierna.
Purtroppo questa si rivela inutile quando vado ad aprire il file dopo 2-3 giorni in quanto mi aggiorna le date ad oggi.
La soluzione temporanea è di copiare e fare un incolla speciale dei valori delle celle in B prima di salvare il file, però è macchinoso e mettendoci le mani in più persone si creano dei problemi.

Come faccio a bloccare la data? Vorrei bloccare l'aggiornamento della colonna B o salvare la data odierna come valore (in automatico).

Grazie a chiunque voglia aiutarmi.
Ultima modifica di ghost38 il mercoledì 17 luglio 2019, 9:38, modificato 1 volta in totale.
OpenOffice 3.1 su Windows Vista
patel
Volontario attivo
Volontario attivo
Messaggi: 4020
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: Funzione OGGI()

Messaggio da patel »

ghost38 ha scritto: Ogni volta che viene registrato un codice in A nella rispettiva cella in B viene inserita la data odierna.
Tramite macro ? spiegati meglio magari allegando un file di esempio
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
ghost38
Messaggi: 30
Iscritto il: giovedì 6 aprile 2017, 16:46

Re: Funzione OGGI()

Messaggio da ghost38 »

Quando viene compilata a mano la cella nella colonna A.
Allegati
esempio_oggi().ods
(10.74 KiB) Scaricato 202 volte
OpenOffice 3.1 su Windows Vista
patel
Volontario attivo
Volontario attivo
Messaggi: 4020
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: Funzione OGGI()

Messaggio da patel »

il tuo esempio non funziona, inoltre non hai risposto alla domanda
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
ghost38
Messaggi: 30
Iscritto il: giovedì 6 aprile 2017, 16:46

Re: Funzione OGGI()

Messaggio da ghost38 »

L'esempio è compilato fino alla riga 10. La compilazione della data avviene tramite formula nella colonna B.
=SE(A1="";"";OGGI())

Se tu apri domani il file di esempio nella colonna B non troverai 16/07/19 ma 17/07/19 perchè il file si aggiorna ogni volta che lo apro.
OpenOffice 3.1 su Windows Vista
Gaetanopr
Volontario
Volontario
Messaggi: 3300
Iscritto il: mercoledì 21 novembre 2012, 20:07

Re: Funzione OGGI()

Messaggio da Gaetanopr »

Ti occorre una semplice macro per imprimere la data odierna e rimanere tale successivamente.
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
ghost38
Messaggi: 30
Iscritto il: giovedì 6 aprile 2017, 16:46

Re: Funzione OGGI()

Messaggio da ghost38 »

Non c'è modo di ricavarla con le funzioni? Mi risulta più semplice
OpenOffice 3.1 su Windows Vista
ghost38
Messaggi: 30
Iscritto il: giovedì 6 aprile 2017, 16:46

Re: Funzione OGGI()

Messaggio da ghost38 »

Grazie mille, funziona!
OpenOffice 3.1 su Windows Vista
patel
Volontario attivo
Volontario attivo
Messaggi: 4020
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: [RISOLTO] Funzione OGGI()

Messaggio da patel »

Ti dispiace mostrare come hai risolto ?
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8807
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Funzione OGGI()

Messaggio da charlie »

lucky63 ha scritto:Utilizzando LibreOffice ... vedi:
https://wiki.documentfoundation.org/Faq/Calc/139
Ho provato a dare un'occhiata ...

"Insertion using the keyboard
The simplest and quickest solution is to use the default key-bindings defined by:
Ctrl+; to insert the date,
⇧ Shift+Ctrl+; to insert the time.
"

Non funziona: il tasto ";" non esiste da solo nelle tastiere italiane, si deve già adoperare Shift per scrivere";". Quindi già per inserire la data dovrei fare Shift+Ctrl+; che corrisponde alla sequenza per inserire l'ora.
Ma comunque, non succede niente.
charlie
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Avatar utente
gioh66
Volontario
Volontario
Messaggi: 1747
Iscritto il: lunedì 31 luglio 2017, 14:57
Località: Friuli

Re: [Risolto] Funzione OGGI()

Messaggio da gioh66 »

Ciao è come dici ma puoi cambiare la scorciatoia da tastiera. Io per me l'ho sostituita con ctrl+,
...se sei soddisfatto delle risposte ricevute metti il [Risolto] https://forum.openoffice.org/it/forum/v ... f=9&t=5661

Libreoffice 6/7 Ubuntu 22.04 - PcLinuxOS - LinuxMint 21
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8807
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: [Risolto] Funzione OGGI()

Messaggio da charlie »

Ciao, finché scrivevi, stavo provando a fare proprio quello.
Trovando una combinazione di tasti "libera", vedo che funziona :super:
charlie
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
ghost38
Messaggi: 30
Iscritto il: giovedì 6 aprile 2017, 16:46

Re: [RISOLTO] Funzione OGGI()

Messaggio da ghost38 »

patel ha scritto:Ti dispiace mostrare come hai risolto ?
Scusate, mi sono dimenticato di spiegare.

Ho risolto seguendo l'ultima soluzione nella guida fornita da lucky63.
Attivando in Opzioni > OpenOffice Calc > Calcola la voce Interazioni impostando passaggi a 1.
E poi usando nella colonna B la formula:

Codice: Seleziona tutto

=SE(A1<>"";SE(B1="";OGGI();B1);"")
:)
OpenOffice 3.1 su Windows Vista
Gaetanopr
Volontario
Volontario
Messaggi: 3300
Iscritto il: mercoledì 21 novembre 2012, 20:07

Re: [Risolto] Funzione OGGI()

Messaggio da Gaetanopr »

Io rimango sempre del parere di non toccare i riferimenti circolari, potresti avere brutte sorprese, l'unica soluzione efficace e duratura è usare una macro o meglio ancora inserire la data tramite combinazione di tasti o qualsiasi altro sistema che eviti l'uso di una formula con la funzione OGGI()
Vedi pure questa discussione precedente
viewtopic.php?f=9&t=7563&p=40188&hilit= ... oni#p40188

ghost38 ha scritto:Quando viene compilata a mano la cella nella colonna A.
Se ad esempio ricompili o modifichi una cella già scritta la data dovrebbe aggiornarsi o rimanere quella iniziale cioè della prima compilazione?
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
ghost38
Messaggi: 30
Iscritto il: giovedì 6 aprile 2017, 16:46

Re: [Risolto] Funzione OGGI()

Messaggio da ghost38 »

Nel mio caso la cella non viene mai modificata, al limite cancellata, quindi anche se non aggiorna quando la cella viene modificata è irrilevante. Se la cella viene cancellata e poi compilata in questo caso prende la data odierna.

Sinceramente non ho idea di come potrei avere brutte sorprese, perchè non sono informato della funzione dei riferimenti.
Ho optato per la soluzione più semplice e veloce per me dato che con le macro non saprei come risolvere.
OpenOffice 3.1 su Windows Vista
Gaetanopr
Volontario
Volontario
Messaggi: 3300
Iscritto il: mercoledì 21 novembre 2012, 20:07

Re: [Risolto] Funzione OGGI()

Messaggio da Gaetanopr »

ghost38 ha scritto:Nel mio caso la cella non viene mai modificata, al limite cancellata, quindi anche se non aggiorna quando la cella viene modificata è irrilevante. Se la cella viene cancellata e poi compilata in questo caso prende la data odierna.
:super:
ghost38 ha scritto:Sinceramente non ho idea di come potrei avere brutte sorprese, perchè non sono informato della funzione dei riferimenti.
Un riferimento circolare è quando la cella che contiene la formula è inclusa nel calcolo della stessa, come quella da te usata con la funzione OGGI(), Calc và a ricalcolare il valore della cella ad ogni modifica, conseguenza di questo sarebbe un ricalcolo infinito generando errori, impostando in numero di iterazioni a 1 Calc si ferma al primo "passaggio" restituendoti nel tuo caso la data(il primo risultato) anzichè un errore.
Questa funzionalità(che vale per tutto il documento, quindi tutte le formule presenti nei vari fogli) a mio parere va usata con attenzione in quanto impedisce di individuare la presenza di riferimenti circolari non VOLUTI, che andrebbero ad avvisarti in modo tale da poter intervenire, potresti avere formule non corrette con risultati non validi e non accorgertene.
ghost38 ha scritto:Ho optato per la soluzione più semplice e veloce per me dato che con le macro non saprei come risolvere.
questo è un esempio con macro, collegata all'evento del primo foglio "Contenuto modificato" facendo tasto dx del mouse sulla linguetta del foglio - Eventi foglio - Contenuto modificato - Macro
Allegati
esempio_oggi().ods
(11.73 KiB) Scaricato 135 volte
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
ghost38
Messaggi: 30
Iscritto il: giovedì 6 aprile 2017, 16:46

Re: [Risolto] Funzione OGGI()

Messaggio da ghost38 »

Meglio evitare errori allora. La tua macro funziona alla perfezione, grazie!

Ho definitivamente risolto.

:)
OpenOffice 3.1 su Windows Vista
Rispondi