[Risolto]MSG BOX
[Risolto]MSG BOX
Domandina.......
intanto buongiorno a tutti.
Mi dite come si crea un msg box?
vorrei che scegliendo uno specifico testo, da un menu a tendina ( dati/validita) apparisse un msg box.
Grazie
intanto buongiorno a tutti.
Mi dite come si crea un msg box?
vorrei che scegliendo uno specifico testo, da un menu a tendina ( dati/validita) apparisse un msg box.
Grazie
Ultima modifica di Alelon il lunedì 2 gennaio 2023, 19:29, modificato 1 volta in totale.
OpenOffice 4.1.13
Re: MSG BOX
Ciao Alelon ci sei mancato
Proprio come hai scritto tu, ti dò un consiglio, prima di aprire argomenti consulta la guida in linea di OpenOffice/LibreOffice, oppure fai una ricerca sul forum dove troverai molte risposte.
Se avessi cercato sulla guida in linea avresti trovato questo
https://help.libreoffice.org/7.2/it/tex ... _id3156442
Però il messaggio compare solo in caso di errore, se invece vuoi farlo apparire al selezionare di un determinato valore devi ricorrere ad una macro sfruttando l'evento modificato che ben conosci
Proprio come hai scritto tu, ti dò un consiglio, prima di aprire argomenti consulta la guida in linea di OpenOffice/LibreOffice, oppure fai una ricerca sul forum dove troverai molte risposte.
Se avessi cercato sulla guida in linea avresti trovato questo
https://help.libreoffice.org/7.2/it/tex ... _id3156442
Però il messaggio compare solo in caso di errore, se invece vuoi farlo apparire al selezionare di un determinato valore devi ricorrere ad una macro sfruttando l'evento modificato che ben conosci
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Openoffice 4.1.13 su windows 10
Re: MSG BOX
Ciao gaetano....anche tu mi sei mancato
ora ci smanetto un po e ti faccio sapere....
all'evento contenuto modificato, ho gia associata la macro che mi hai dato tu, per nascondere righe e colonne......
come faccio per associare la seconda macro?
Ps: ti ho scritto in pvt.
ora ci smanetto un po e ti faccio sapere....
all'evento contenuto modificato, ho gia associata la macro che mi hai dato tu, per nascondere righe e colonne......
come faccio per associare la seconda macro?
Ps: ti ho scritto in pvt.
OpenOffice 4.1.13
Re: MSG BOX
allego un file
vorrei che se si sceglie "essenza lignea" appaia in msg box che pigiando ok rimandi al foglio 2, per controllare il costo e eventualmente modificarlo.
PS: il documento lo devo ancora completare.
vorrei che se si sceglie "essenza lignea" appaia in msg box che pigiando ok rimandi al foglio 2, per controllare il costo e eventualmente modificarlo.
PS: il documento lo devo ancora completare.
- Allegati
-
- configuratore armadioprova.ods
- (19.3 KiB) Scaricato 72 volte
OpenOffice 4.1.13
Re: MSG BOX
Come già detto in altre discussioni, la macro associata deve essere una sola, in questa dovrai inserire degli IF in modo da scegliere l'azione da fare in base alla voce selezionata.
-------------------
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
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
Re: MSG BOX
Perdonami ma non capisco....
Me se all'evento contenuto modificato associo questa futura macro, quella che ho già associata,come faccio a farla funzionare?
Me se all'evento contenuto modificato associo questa futura macro, quella che ho già associata,come faccio a farla funzionare?
OpenOffice 4.1.13
Re: MSG BOX
Rispondendo in questo modo ci devi spiegare perchè hai messo risolto a questoviewtopic.php?t=11922 altrimenti ci prendi in giro
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Openoffice 4.1.13 su windows 10
Re: MSG BOX
Per questo!
Non prendo in giro nessuno.
Se mi si dice che deve essere una sola .......
OpenOffice 4.1.13
Re: MSG BOX
È stato un malinteso.
Tanto è vero che se guardi il file che ho allegato, ci sono 2 macro . La seconda temporaneamente disabilitata tramite gli apici.
Tanto è vero che se guardi il file che ho allegato, ci sono 2 macro . La seconda temporaneamente disabilitata tramite gli apici.
OpenOffice 4.1.13
Re: MSG BOX
Una cosa del genere
Codice: Seleziona tutto
Sub evento(Target)
If Not Target.supportsService("com.sun.star.sheet.SheetCell") then exit sub
Sh = Target.getSpreadsheet()
oCellT() = Split(Target.AbsoluteName, ".")
oCellTarget = oCellT(1)
If oCellTarget = "$F$10" Or oCellTarget = "$I$10" Then
If Sh.getCellRangeByName("$F$10").String = "Battente" And Sh.getCellRangeByName("$I$10").String = "Premiapri" Then
Visibile = False
else
Visibile = True
End if
for i = 11 to 13
Sh.Columns(i).IsVisible = Visibile
next i
Sh.Rows(21).IsVisible = Visibile
End if
' -------- qui la nuova condizione ---------- senza avere 2 macro
If oCellTarget = "$C$10" And Sh.getCellRangeByName("$C$10").String = "Essenza lignea" Then
' la tua mgbox <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
End if
End Sub
-------------------
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
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
Re: MSG BOX
Non hai bisogno di una macro nella macro per nascondere la riga 21, non ha senso ripetere lo stesso codice 2 volte, ti basta aggiungere le cose da fare una dopo l'altra
patel infatti ti ha corretto il codice inserendo la nuova istruzione dopo il ciclo for per nascondere le colonne, inoltre se la riga da nascondere è una sola ti basta indicarla senza l'uso di un ciclo.
Codice: Seleziona tutto
for i = 11 to 13
Sh.Columns(i).IsVisible = Visibile
next i
Sh.Rows(21).IsVisible = Visibile
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Openoffice 4.1.13 su windows 10
Re: MSG BOX
Una cosa mi era riuscita!!!!!Gaetanopr ha scritto: ↑venerdì 30 dicembre 2022, 16:13 Non hai bisogno di una macro nella macro per nascondere la riga 21, non ha senso ripetere lo stesso codice 2 volte, ti basta aggiungere le cose da fare una dopo l'altrapatel infatti ti ha corretto il codice inserendo la nuova istruzione dopo il ciclo for per nascondere le colonne, inoltre se la riga da nascondere è una sola ti basta indicarla senza l'uso di un ciclo.Codice: Seleziona tutto
for i = 11 to 13 Sh.Columns(i).IsVisible = Visibile next i Sh.Rows(21).IsVisible = Visibile
Ne ero orgoglioso.
credevo di aver risolto una cosa complicata....
immaginavo comunque che quello che avevo fatto era un po un esagerazione.
ma visto che funzionava non ho voluto chiedere.
OpenOffice 4.1.13
Re: MSG BOX
Ti spiego meglio la macro
- la variabile oCellTarget è la cella che viene modificata e che genera l'evento, significa: Se oCellTarget = "$F$10 oppure oCellTarget = "$I$10" fai quello che segue.
- Una volta verificatosi le ipotesi, si procede con quanto segue.
- Nel tuo caso va a verificare se la cella e se la cella allora se la verifica è positiva il codice a seguire va a nascondere le colonne e le righe altrimenti le visualizza.
Se per la stessa condizione devi eseguire diverse istruzioni la condizione o le condizioni ti basta indicarle solo una volta e a cascata scrivere il codice per le cose da fare.
- Nel caso del msgbox la condizione è diversa dalla prima quindi occorre un’altra verifica e in caso positivo si eseguono tutte le istruzioni del caso.
-
Codice: Seleziona tutto
If oCellTarget = "$F$10" Or oCellTarget = "$I$10" Then
- Una volta verificatosi le ipotesi, si procede con quanto segue.
- Nel tuo caso va a verificare se la cella
Codice: Seleziona tutto
Sh.getCellRangeByName("$F$10").String = "Battente"
Codice: Seleziona tutto
And Sh.getCellRangeByName("$I$10").String = "Premiapri"
Se per la stessa condizione devi eseguire diverse istruzioni la condizione o le condizioni ti basta indicarle solo una volta e a cascata scrivere il codice per le cose da fare.
- Nel caso del msgbox la condizione è diversa dalla prima quindi occorre un’altra verifica
Codice: Seleziona tutto
If oCellTarget = "$C$10" And Sh.getCellRangeByName("$C$10").String = "Essenza lignea" Then
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Openoffice 4.1.13 su windows 10
Re: MSG BOX
Questa tua risposta per me e' preziosa ....
grazie per la pazienza che hai nei miei confronti...
Ho inserito la msg box.
ma non ho idea del codice da scrivere per far si che pigiando ok ,si venga rimandati al foglio 2.
se mi dai un input magari ci provo..
grazie per la pazienza che hai nei miei confronti...
Ho inserito la msg box.
ma non ho idea del codice da scrivere per far si che pigiando ok ,si venga rimandati al foglio 2.
se mi dai un input magari ci provo..
- Allegati
-
- configuratore armadioprova.ods
- (19.37 KiB) Scaricato 54 volte
OpenOffice 4.1.13
Re: MSG BOX
Come detto prima, usa il forum come motore di ricerca queste tue domande sono state trattate tante volte, ti aiuto... cerca setActiveSheet.
Attendiamo file funzionante
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Openoffice 4.1.13 su windows 10
Re: MSG BOX
Editato: Citazione post precedente soppressa perchè inutille (Admin) |
- Allegati
-
- configuratore armadi.ods
- (19.84 KiB) Scaricato 64 volte
OpenOffice 4.1.13
Re: MSG BOX
Funziona, ma non ci siamo, non hai ascoltato i miei consigli e quelli di patel, hai ripetuto 2 volte la stessa verifica
questo lo hai scritto due volte, quando io invece ti avevo detto ↓
Codice: Seleziona tutto
If oCellTarget = "$C$10" And Sh.getCellRangeByName("$C$10").String = "Essenza lignea" Then
Hai usato una macro registrata che va bene pure, ma prova ad usare il metodo setActiveSheetGaetanopr ha scritto: ↑venerdì 30 dicembre 2022, 16:39 Se per la stessa condizione devi eseguire diverse istruzioni la condizione o le condizioni ti basta indicarle solo una volta e a cascata scrivere il codice per le cose da fare.
- Nel caso del msgbox la condizione è diversa dalla prima quindi occorre un’altra verificae in caso positivo si eseguono tutte le istruzioni del caso.Codice: Seleziona tutto
If oCellTarget = "$C$10" And Sh.getCellRangeByName("$C$10").String = "Essenza lignea" Then
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Openoffice 4.1.13 su windows 10
Re: MSG BOX
Va bene...
Un passettino alla volta.
2 cose...: Se volessi,una volta dato ok,tornare automaticamente,al foglio 1?
La seconda: non riesco ad aggiungere un foglio , pigiando TX dx in basso a sx, non mi dà la possibilità di aggiungere....
Dipende dalla macro? Non credo.
Grazie.
Un passettino alla volta.
2 cose...: Se volessi,una volta dato ok,tornare automaticamente,al foglio 1?
La seconda: non riesco ad aggiungere un foglio , pigiando TX dx in basso a sx, non mi dà la possibilità di aggiungere....
Dipende dalla macro? Non credo.
Grazie.
OpenOffice 4.1.13
Re: MSG BOX
Certe tue domande non le capisco....allo stesso modo di come sei riuscito ad andare al foglio2 anche se non capisco la logica, se spunta la msgbox e vai al secondo foglio a cosa serve ritornare immediatamente al primo foglio.....
Togli la protezione al documento
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Openoffice 4.1.13 su windows 10
Re: MSG BOX
Scusami, in effetti è vero, se torno al primo foglio , non posso modificare il prezzo.
OpenOffice 4.1.13
Re: MSG BOX
Buongiorno ...ci sto sbattendo la testa da una mattinata...ma niente,non riesco.
vorrei duplicare la macro che rimanda al foglio 2.
cio'e' vorrei che se in un altra cella scrivo "pippo" mi rimandi al foglio 2.( prima che voi mi mandate......Grazie)
vorrei duplicare la macro che rimanda al foglio 2.
cio'e' vorrei che se in un altra cella scrivo "pippo" mi rimandi al foglio 2.( prima che voi mi mandate......Grazie)
OpenOffice 4.1.13
Re: MSG BOX
Supponendo che l'atra cella sia Z1
Codice: Seleziona tutto
Sub evento(Target)
If Not Target.supportsService("com.sun.star.sheet.SheetCell") then exit sub
Sh = Target.getSpreadsheet()
oCellT() = Split(Target.AbsoluteName, ".")
oCellTarget = oCellT(1)
If oCellTarget = "$F$10" Or oCellTarget = "$I$10" Then
If Sh.getCellRangeByName("$F$10").String = "Battente" And Sh.getCellRangeByName("$I$10").String = "Premiapri" Then
Visibile = False
else
Visibile = True
End if
for i = 11 to 13
Sh.Columns(i).IsVisible = Visibile
next i
Sh.Rows(21).IsVisible = Visibile
End if
' -------- qui la seconda condizione ------
If oCellTarget = "$C$10" And Sh.getCellRangeByName("$C$10").String = "Essenza lignea" Then
' la tua mgbox e il codice per andare sul foglio2<<<<<<<<<<<<<<<<<<
End if
' -------- qui la terza condizione
If oCellTarget = "$Z$1" And Sh.getCellRangeByName("$Z$1").String = "PIPPO" Then
' copi il codice per andare sul foglio2 <<<<<<<<<<<<<<
End if
End Sub
-------------------
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
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
Re: MSG BOX
da completare......
nel foglio 3 creero una lista di accessori da aggiungere.
grazie di cuore per la gentilezza.TANTA!!
nel foglio 3 creero una lista di accessori da aggiungere.
grazie di cuore per la gentilezza.TANTA!!
OpenOffice 4.1.13