Controllo su celle

Creare una macro - Scrivere uno script - Usare le API
Rispondi
sanraff
Messaggi: 316
Iscritto il: sabato 27 ottobre 2012, 14:08

Controllo su celle

Messaggio da sanraff »

Buonasera a tutti, giorni fa avevo provato a postare in "Calc" questo problema, però non avendo avuto risposte e forse trattandosi di macro, magari questa è la sezione più corretta.
Espongo quanto segue:
Al file di cui allego esempio, volevo realizzare un controllo su determinate colonne attraverso la combobox.
Mi spiego meglio:
All'interno della combobox, ci sono sei diciture, lasciando invariate le colonne che vanno dalle "E fino alla H", quando seleziono la voce "Dest_1", a fianco di quest'ultime, mi dovrebbe comparire solo le colonne "I , N e O" e nascondere le altre, quando seleziono la voce "Dest_2", mi dovrebbe comparire solo le colonne "I , J, N e O" e nascondere le altre, quando seleziono la voce "Dest_3", mi dovrebbe comparire solo le colonne "I , J, K, N e O" e nascondere le altre, e così via, fino a quando selezionando la voce "Tutto DB", mi deve far vedere tutta la tabella.
Se è possibile, vorrei realizzare questa cosa attraverso una macro, oppure attraverso altro suggerimento, però non so come si fa.

Spero di esser stato chiaro e ringrazio anticipatamente a chi mi darà una mano.
Allegati
Controllo su celle.ods
(20.52 KiB) Scaricato 165 volte
OpenOffice 3.3 SU WINDOWS 7
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8804
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Controllo su celle

Messaggio da charlie »

Ciao, pur comprendendo le tue ragioni, mi permetto di ricordarti che non è permesso postare lo stesso argomento in più sezioni del forum :D .
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: Controllo su celle

Messaggio da patel »

Nessuno ti ha risposto perché non hai spiegato bene il problema, per esempio da dove prende i dati la tua combo, qual'è il criterio di visualizzazione delle colonne.
Quello che per te è evidente (l'hai pensato tu) può non esserlo per gli altri.
-------------------
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
sanraff
Messaggi: 316
Iscritto il: sabato 27 ottobre 2012, 14:08

Re: Controllo su celle

Messaggio da sanraff »

Ciao charlie
charlie ha scritto:Ciao, pur comprendendo le tue ragioni, mi permetto di ricordarti che non è permesso postare lo stesso argomento in più sezioni del forum
indubbiamente hai ragione, però mancando un pò dal forum, ed avendo chiesto una soluzione con macro, non avendo avuto alcuna risposta, nel dubbio ho pensato che avevo postato la discussione nella sezione sbagliata.

Ciao patel, provo a spiegarmi meglio.
Quello che intendo realizzare è una sorta di "Mostra e Nascondi colonna" controllata dalla combobox.
Le colonne "E,F,G ed H", devono restare fisse, mentre le restanti a partire dalla colonna "I fino alla colonna Q" devono essere gestite dalla combobox.
All'interno di quest'ultima, alla posizione "Voci dell'Elenco", ho inserito sei diciture "Dest_1, Dest_2, Dest_3, Dest_4, Dest_5, Tutto DB", adesso quando seleziono dalla combobox la dicitura "Dest_1", vorrei che a fianco della colonna "H" rimanessero visibili solo le colonne "I, N, O, P e Q" e nascondesse le colonne "J, K, L e M", poi quando seleziono la dicitura "Dest_2", vorrei che a fianco della colonna "H" rimanessero solo le colonne "I, J, N, O, P e Q" e nascondesse le colonne "K, L e M", e così via fino a quando selezionando la dicitura "Tutto DB" mi devono apparire tutte le colonne.
Vorrei realizzare questa cosa attraverso l'uso di una macro però non so come si fa, è possibile avere un aiuto in merito?, grazie
OpenOffice 3.3 SU WINDOWS 7
patel
Volontario attivo
Volontario attivo
Messaggi: 4020
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: Controllo su celle

Messaggio da patel »

imposta la cella B3 come cella collegata alla combo, poi inserisci questa macro

Codice: Seleziona tutto

Sub combo
doc = thiscomponent
sh = doc.Sheets(0)
combotext = sh.GetCellRangeByName("B3").String
 
Select Case combotext
Case "Dest_1" 'J, K, L M"
  For j = 9 To 12
    sh.Columns(j).IsVisible = False
  Next
Case "Tutto DB"
  For j = 9 To 17
    sh.Columns(j).IsVisible = True
  Next
Case Else
End Select
End Sub
e richiamala nella sezione Eventi, Testo modificato della combo.
Lascio a te il completamento per gli altri casi
-------------------
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
Rispondi