Simulazione "dice roller"

Discussioni sull'applicazione per i fogli di calcolo
Rispondi
monica0416
Messaggi: 4
Iscritto il: domenica 5 aprile 2020, 19:37

Simulazione "dice roller"

Messaggio da monica0416 »

Buongiorno,
provo a chiedere qui, magari qualcuno di più esperto riesce ad aiutarmi.
Per simulare un "dice roller" su alcune caselle del mio foglio di calcolo ho usato questa formula (modificandola in base ai dadi che volevo simulare: da 6, da 20 ecc):

=INT(CASUALE()*6+1)

che si "attiva" premendo F9.
Ipotizzando che io voglia lanciare i dati (come dicevo la formula è riportata su più celle, con diversi parametri) e una volta generati questi numeri casuali, voglia riportarli su una colonna a parte sulla stessa o su un'altra scheda, come posso fare per evitare che mentre vado ad inserire il dato su un'altra cella, in automatico riparta il lancio dei dadi, anche senza premere F9?
Avevo pensato di inserire i dati su un'altra scheda, disattivando quest'ultima, ma si creava il problema che a quel punto non era più possibile utilizzare formule sulla stessa.

Spero di essermi spiegata, grazie a chi mi aiuterà.
Open Office 4.1.2 su Windows 10
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8819
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Simulazione "dice roller"

Messaggio da charlie »

Ciao e benvenuto/a sul forum.
Se intanto ti vuoi presentare, farai cosa gradita. Puoi farlo in questa sezione -> viewforum.php?f=16
Se desideri avere una panoramica delle regole del forum puoi consultare il Manuale di sopravvivenza -> http://forum.openoffice.org/it/forum/vi ... hp?f=1&t=2

Buon proseguimento.

Sarebbe stato meglio usare le virgolette per "dice roller", ho provveduto io.
charlie
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
patel
Volontario attivo
Volontario attivo
Messaggi: 4020
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: Simulazione "dice roller"

Messaggio da patel »

Strumenti, Contenuti celle, Calcolo automatico togli la spunta
-------------------
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
monica0416
Messaggi: 4
Iscritto il: domenica 5 aprile 2020, 19:37

Re: Simulazione "dice roller"

Messaggio da monica0416 »

patel ha scritto:Strumenti, Contenuti celle, Calcolo automatico togli la spunta
Grazie.
Purtroppo però in questo modo mi disattiva il calcolo di tutte le formule nel foglio, quindi anche di quelle che mi serve restino attive.

Esiste un modo per disattivare selettivamente il calcolo automatico solo per le celle che uso per il "lancio"?
Open Office 4.1.2 su Windows 10
monica0416
Messaggi: 4
Iscritto il: domenica 5 aprile 2020, 19:37

Re: Simulazione "dice roller"

Messaggio da monica0416 »

charlie ha scritto:Ciao e benvenuto/a sul forum.
Se intanto ti vuoi presentare, farai cosa gradita. Puoi farlo in questa sezione -> viewforum.php?f=16
Se desideri avere una panoramica delle regole del forum puoi consultare il Manuale di sopravvivenza -> http://forum.openoffice.org/it/forum/vi ... hp?f=1&t=2

Buon proseguimento.

Sarebbe stato meglio usare le virgolette per "dice roller", ho provveduto io.
Fatto :super: chiedo scusa mi era sfuggita la sezione dove presentarsi :roll:
Open Office 4.1.2 su Windows 10
Avatar utente
unlucky83
Volontario
Volontario
Messaggi: 2355
Iscritto il: lunedì 7 gennaio 2013, 1:23
Località: Latina

Re: Simulazione "dice roller"

Messaggio da unlucky83 »

monica0416 ha scritto: Esiste un modo per disattivare selettivamente il calcolo automatico solo per le celle che uso per il "lancio"?
Ciao, non mi risulta. A questo punto credo che devi usare una macro per generare numeri casuali
Con il registratore di macro ho ottenuto una macro che inserisce in A1 la formula, la calcola, copia e incolla in A1 il solo valore.

Codice: Seleziona tutto

REM  *****  BASIC  *****


sub Main
rem ----------------------------------------------------------------------
rem define variables
dim document   as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

rem ----------------------------------------------------------------------
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "ToPoint"
args1(0).Value = "$A$1"

dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())

rem ----------------------------------------------------------------------
dim args2(0) as new com.sun.star.beans.PropertyValue
args2(0).Name = "StringName"
args2(0).Value = "=INT(CASUALE()*6+1)"

dispatcher.executeDispatch(document, ".uno:EnterString", "", 0, args2())

rem ----------------------------------------------------------------------
dim args3(1) as new com.sun.star.beans.PropertyValue
args3(0).Name = "By"
args3(0).Value = 1
args3(1).Name = "Sel"
args3(1).Value = false

dispatcher.executeDispatch(document, ".uno:GoUp", "", 0, args3())

rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:Copy", "", 0, Array())

rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:PasteOnlyValue", "", 0, Array())
end sub
Questo è un esempio rozzo tanto per dare un'idea
LibO:Versione: 6.2.8.2
Build ID: 1:6.2.8~rc2-0ubuntu0.16.04.1- 32-bit
-
Se risolvi:
1. Condividi la soluzione qui con noi
2. Metti [Risolto] al titolo del primo messaggio come spiegato qui
Attilafdd
Volontario
Volontario
Messaggi: 539
Iscritto il: giovedì 5 aprile 2012, 8:25

Re: Simulazione "dice roller"

Messaggio da Attilafdd »

monica0416 ha scritto:Ipotizzando che io voglia lanciare i dati.... una volta generati questi numeri casuali, ...., come posso fare per evitare che mentre vado ad inserire il dato su un'altra cella, in automatico riparta il lancio dei dadi, anche senza premere F9?
Per il momento non è una soluzione, ma solo cronaca.
E' già stato inserito nella release note di Libreoffice 7.0 due nuove funzioni:

"Calc
New spreadsheet functions:
RAND.NV() and RANDBETWEEN.NV() non-volatile random number generating functions that are not recalculated on every input like RAND() and RANDBETWEEN() are. tdf#127831 (Eike Rathke (Red Hat, Inc.))"


https://wiki.documentfoundation.org/ReleaseNotes/7.0

Il rilascio di Libreoffice 7.0 è previsto nella settimana tra il 3 e il 9 agosto... sono curioso di testarle.

Saluti
LibreOffice 24.2.2 (Win 11)
-----------------------------------------
Se risolto inserisci [Risolto] e la spunta verde Immagine: https://forum.openoffice.org/it/forum/v ... f=9&t=5661
Attilafdd
Volontario
Volontario
Messaggi: 539
Iscritto il: giovedì 5 aprile 2012, 8:25

Re: Simulazione "dice roller"

Messaggio da Attilafdd »

Libreoffice 7.0 è stato rilasciato e anche la funzione random non volatile.

Ora potrebbe essere una soluzione (non più solo cronaca). :D
LibreOffice 24.2.2 (Win 11)
-----------------------------------------
Se risolto inserisci [Risolto] e la spunta verde Immagine: https://forum.openoffice.org/it/forum/v ... f=9&t=5661
Rispondi