Macro colore random LibreOffice Calc

Discussioni sull'applicazione per i fogli di calcolo
Rispondi
ronny
Messaggi: 4
Iscritto il: giovedì 6 ottobre 2022, 7:33

Macro colore random LibreOffice Calc

Messaggio da ronny »

Ciao a tutti, sono un "programmatore per passione" e mi diletto a creare macro per facilitarmi quanto possibile la vita a lavoro...dovrei fare in modo che, selezionando una cella e premendo un bottone, questa cella mi si colori di un colore random, ovvero a caso...come posso fare? ho cercato sul forum e provato e riprovato, ma niente non ci riesco...qualcuno che può gentilmente darmi una mano?? grazie a tutti
LibreOffice 7.3.2.2 - Windows 10
Gaetanopr
Volontario
Volontario
Messaggi: 3300
Iscritto il: mercoledì 21 novembre 2012, 20:07

Re: Macro colore random LibreOffice Calc

Messaggio da Gaetanopr »

Magari non troverai un argomento specifico spesso è così, ma spezzettando il problema in più parti riuscirai a trovare la soluzione.
Per prima cosa cerca il codice per colorare lo sfondo delle celle, da questo cerca come creare valori numerici a random, se ad
esempio usi il sistema RGB per colorare le celle(es:

Codice: Seleziona tutto

.CellBackColor = RGB(240,255,240)
) dovrai creare tre codici numerici a random da 0 a 256 per associarli alla macro colora cella.
Oppure puoi creare una matrice con un determinato numero di codici di colore e tramite la funzione rnd assegnare a caso uno tra quelli presenti nella matrice.
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8786
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Macro colore random LibreOffice Calc

Messaggio da charlie »

Ciao rinny e benvenuto sul forum.
Se intanto ti vuoi presentare, farai cosa gradita. Puoi farlo in questa sezione -> viewforum.php?f=16

L’utente che apre un quesito si impegna: In caso di inosservanza saremo costretti ad azioni di “richiamo”, sospensione o chiusura del profilo utente.
Buon proseguimento.
charlie
macOS 14.3 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
ronny
Messaggi: 4
Iscritto il: giovedì 6 ottobre 2022, 7:33

Re: Macro colore random LibreOffice Calc

Messaggio da ronny »

Grazie Gaetanopr,la tua risposta è stata...illuminante!!! :D
Cercherò di combinare qualcosa...
Solo una cosa,se puoi indirizzarmi all'utilizzo di rnd con la matrice, perché per me è un campo abbastanza sconosciuto...
Gaetanopr ha scritto: giovedì 6 ottobre 2022, 12:05 Magari non troverai un argomento specifico spesso è così, ma spezzettando il problema in più parti riuscirai a trovare la soluzione.
Per prima cosa cerca il codice per colorare lo sfondo delle celle, da questo cerca come creare valori numerici a random, se ad
esempio usi il sistema RGB per colorare le celle(es:

Codice: Seleziona tutto

.CellBackColor = RGB(240,255,240)
) dovrai creare tre codici numerici a random da 0 a 256 per associarli alla macro colora cella.
Oppure puoi creare una matrice con un determinato numero di codici di colore e tramite la funzione rnd assegnare a caso uno tra quelli presenti nella matrice.
LibreOffice 7.3.2.2 - Windows 10
Gaetanopr
Volontario
Volontario
Messaggi: 3300
Iscritto il: mercoledì 21 novembre 2012, 20:07

Re: Macro colore random LibreOffice Calc

Messaggio da Gaetanopr »

Seleziona una cella e lancia la macro, verrà colorata a caso scegliendo tra i 5 colori indicati nella matrice.

Codice: Seleziona tutto

Sub Colore
	Dim Doc As Object
	Dim Sel As Object
	Dim MatriceColore(4) As Long
	
	MatriceColore(0) = RGB(255,0,0) 
	MatriceColore(1) = RGB(0,0,255) 
	MatriceColore(2) = RGB(255,165,0) 
	MatriceColore(3) = RGB(0,255,0) 
	MatriceColore(4) = RGB(255,255,0) 

    x = Ubound(MatriceColore) + 1   ' matrice base zero aggiungo 1

	Doc= ThisComponent
	Sel = Doc.getCurrentSelection()
	Sel.CellBackColor = MatriceColore(Int(Rnd()*x))   
End Sub
Per aumentare il ventaglio di colori cambia l'indice della matrice ad esempio per 10 colori l'istruzione diventa

Codice: Seleziona tutto

Dim MatriceColore(9) As Long
e aggiungi i colori rimanenti
Allegati
Colore_random.ods
(9.15 KiB) Scaricato 34 volte
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
ronny
Messaggi: 4
Iscritto il: giovedì 6 ottobre 2022, 7:33

Re: Macro colore random LibreOffice Calc

Messaggio da ronny »

Spettacolare!!!Grazie mille!! :D

Gaetanopr ha scritto: giovedì 6 ottobre 2022, 16:31 Seleziona una cella e lancia la macro, verrà colorata a caso scegliendo tra i 5 colori indicati nella matrice.

Codice: Seleziona tutto

Sub Colore
	Dim Doc As Object
	Dim Sel As Object
	Dim MatriceColore(4) As Long
	
	MatriceColore(0) = RGB(255,0,0) 
	MatriceColore(1) = RGB(0,0,255) 
	MatriceColore(2) = RGB(255,165,0) 
	MatriceColore(3) = RGB(0,255,0) 
	MatriceColore(4) = RGB(255,255,0) 

    x = Ubound(MatriceColore) + 1   ' matrice base zero aggiungo 1

	Doc= ThisComponent
	Sel = Doc.getCurrentSelection()
	Sel.CellBackColor = MatriceColore(Int(Rnd()*x))   
End Sub
Per aumentare il ventaglio di colori cambia l'indice della matrice ad esempio per 10 colori l'istruzione diventa

Codice: Seleziona tutto

Dim MatriceColore(9) As Long
e aggiungi i colori rimanenti
LibreOffice 7.3.2.2 - Windows 10
Gaetanopr
Volontario
Volontario
Messaggi: 3300
Iscritto il: mercoledì 21 novembre 2012, 20:07

Re: Macro colore random LibreOffice Calc

Messaggio da Gaetanopr »

LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Rispondi