Condividi:        

colorare parola o numeri nella stessa cella

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

colorare parola o numeri nella stessa cella

Postdi paolox » 24/01/10 02:28

ciao
con excel so che si può colorare la cella con la formattazione condizionale
se ad esempio nella cella c'è un numero che voglio individuare,
ma se nella stessa cella ci sono due numeri
divisi da un trattino o da uno spazio,
è possibile evidenziarne solo uno dei due,
cioè quello da me richiesto?

ringrazio anticipatamente

ciao
paolox
Utente Senior
 
Post: 269
Iscritto il: 05/06/04 11:48
Località: lodigiano

Sponsor
 

Re: colorare parola o numeri nella stessa cella

Postdi Anthony47 » 25/01/10 00:59

Si puo' con una macro, non con la formattazione condizionale.
Usi un ciclo For Each Cella in Range("Il tuo range") / Next Cella per esaminare ogni cella dell' intervallo;Numeri = split(Cella.value, "-") per spezzare la cella nei due valori e poterli confrontare col numero target; poi usi Cella.Characters(Start:=XX, Length:=2).Font.ColorIndex = TuoIndiceColore per assegnare il colore al numero uguae al target (XX sara' 0 se si tratta del 1°numero, oppure 4 se e' il secondo)

Se lo spunto e' sufficiente bene, altrimenti dai piu' dettagli per avere un listato piu' generoso.

Ciao.
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: colorare parola o numeri nella stessa cella

Postdi Flash30005 » 25/01/10 01:20

Con la formattazione condizionale non saprei ma questa macro dovrebbe soddisfare la tua richiesta

Codice: Seleziona tutto
Sub TrovaEColora()
Ue = Worksheets("Foglio1").Range("A" & Rows.Count).End(xlUp).Row
ValN = Range("H1").Value

With Worksheets("Foglio1").Range("A1:E" & Ue)
    Set c = .Find(ValN, LookIn:=xlFormulas)
    If Not c Is Nothing Then
        firstAddress = c.Address
        Do
            c.Select
            ValStr = c.Value
            If Val(Mid(ValStr, 1, 2)) = ValN Then
                With ActiveCell.Characters(Start:=1, Length:=2).Font
                    .ColorIndex = 3
                End With
            End If
            If Val(Mid(ValStr, 4, 2)) = ValN Then
                With ActiveCell.Characters(Start:=4, Length:=2).Font
                    .ColorIndex = 3
                End With
            End If
             Set c = .FindNext(c)
        Loop While Not c Is Nothing And c.Address <> firstAddress
    End If
End With

Range("A1").Select
End Sub


Devi solo adattare i seguenti parametri alle tue esigenze:
l'area di ricerca prevista è dalla colonna A alla colonna E (tutte le righe che trova)
Il valore da cercare è in H1
Il colore del font è rosso (3)

Ciao

P.s. I numeri nell'area devono essere di due cifre esempio 01-08 e non 1-8
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: colorare parola o numeri nella stessa cella

Postdi paolox » 25/01/10 17:49

ciao
vi ringrazio ancora una volta per la vostra infinita disponibilità,
io ho già un foglio di lavoro che non posso modificare,
penso di non essere in grado di scrivere la macro e neanche adattare quella scritta da flash
alle mie esigenze.
quello che vorrei fare io su questo foglio è poter colorare sia delle parole che dei numeri che si trovano in colonne differenti, vorrei poter mettere dei numeri in alcune celle per far si che si colorino e delle parole per far si che si colorino anche queste parole.
preferisco spiegare bene quello che sono le mie esigenze per evitare incomprensioni,
vorrei poter fare diverse celle dove inserire i numeri, per poter colorare ad esempio i numeri da 12 a 25 oppure solo il numero 19 oppure due numeri il 18 ed il 22.
i numeri si trovano nella colonna A e sono a gruppi di 10 righe,
da A4 ad A13
da A17 ad A26 (in questa riga sono a gruppi di due numeri separati da - esempio 11-16)
da A30 ad A39 (qui sono a gruppi da due separati da - esempio 12-15)
da A43 ad A52 (qui sono a gruppi da tre es. 13-42-10)
da A56 ad A65 (qui sono a gruppi di quattro es. 55-62-12-33)
da A69 ad A78 (qui sono a gruppi di cinque es. 25-66-67-21-10)

le parole che vorrei colorare invece si trovano nella colonna H in corrispondenza delle righe dove ci sono i numeri e sono a piramide
ad esempio in H4 c'è scritto MI
in H5 c'è scritto MI NA (separati da uno spazio)
in H6 c'è scritto RM PA MI
ecc. ecc.
io vorrei poter colorare ad esempio solo la sigla MI


ora mi suonano alla porta , scusate ma devo andare, intanto spero che quello fin ora spiegato sia comprensibile...


a dopo
paolox
Utente Senior
 
Post: 269
Iscritto il: 05/06/04 11:48
Località: lodigiano

Re: colorare parola o numeri nella stessa cella

Postdi paolox » 25/01/10 18:10

qui nel foglio come esempio le parti colorate sono dove vorrei inserire i dati da ricercare


Immagine

spero di essere stato chiaro, con quello finora spiegato riuscite ad aiutarmi,
è possibile fare tutto con una sola macro?

vi ringrazio per la pazienza e la disponibilità
fatemi sapere

ciao
paolox
Utente Senior
 
Post: 269
Iscritto il: 05/06/04 11:48
Località: lodigiano

Re: colorare parola o numeri nella stessa cella

Postdi paolox » 25/01/10 18:13

manca un pezzo
riprovo


Immagine
paolox
Utente Senior
 
Post: 269
Iscritto il: 05/06/04 11:48
Località: lodigiano

Re: colorare parola o numeri nella stessa cella

Postdi Flash30005 » 26/01/10 10:01

Copia l'intero codice
incollalo in un modulo e
avvia la macro "TrovaEColoraDaA" (con pulsante o con tasti scelta rapida)

Codice: Seleziona tutto
Public ValN, NN, ValN1, ValN2, Car As Integer, ValStr, ValR As String
Sub TrovaEColoraDaA()
For NN = 5 To 10
    ValN1 = Range("K" & NN).Value
    ValN2 = Range("L" & NN).Value
    If ValN1 = 0 Then GoTo esci
    For ValN = ValN1 To ValN2
Call ScansionaN
    Next ValN
Next NN
esci:
Call TrovaEColoraN
Call TrovaEColoraR
Range("A1").Select
End Sub
Sub TrovaEColoraN()
For NN = 4 To 10
    ValN = Range("N" & NN).Value
    If ValN = 0 Then GoTo esci2
    Call ScansionaN
Next NN
esci2:
End Sub
Sub ScansionaN()
        With Worksheets("Foglio1").Range("A4:A78")
            Set c = .Find(ValN, LookIn:=xlFormulas)
                If Not c Is Nothing Then
                    firstAddress = c.Address
                    Do
                        c.Select
                        ValStr = c.Value
                        For Car = 1 To Len(ValStr) Step 3
                            If Val(Mid(ValStr, Car, 2)) = ValN Then
                                With ActiveCell.Characters(Start:=Car, Length:=2).Font
                                .ColorIndex = 3
                                End With
                            End If
                        Next Car
                        Set c = .FindNext(c)
                    Loop While Not c Is Nothing And c.Address <> firstAddress
                End If
        End With
End Sub
Sub TrovaEColoraR()
For NN = 4 To 10
    ValR = Range("P" & NN).Value
    If ValR = "" Then GoTo esci3
    Call ScansionaR
Next NN
esci3:
End Sub
Sub ScansionaR()
        With Worksheets("Foglio1").Range("H4:H78")
            Set c = .Find(ValR, LookIn:=xlFormulas)
                If Not c Is Nothing Then
                    firstAddress = c.Address
                    Do
                        c.Select
                        ValStr = c.Value
                        For Car = 1 To Len(ValStr) - 2 Step 3
                            If Mid(ValStr, Car, 2) = ValR Then
                                With ActiveCell.Characters(Start:=Car, Length:=2).Font
                                .ColorIndex = 3
                                End With
                            End If
                        Next Car
                        Set c = .FindNext(c)
                    Loop While Not c Is Nothing And c.Address <> firstAddress
                End If
        End With
End Sub


Se i dati sono inseriti come da immagine
la soluzione ti dovrebbe soddisfare

Fai sapere
Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: colorare parola o numeri nella stessa cella

Postdi paolox » 26/01/10 16:51

ciao Flash
non mi ricordo come fare ad inserire la macro,
mi pare che si facesse
alt+F11 e copiare tutto il codice,
poi alt+F8 sul foglio interessato
e selezionata la macro CercaNum e premere Esegui

ma facendo alt+F11
mi si apre una pagina già piena di codici
non vorrei fare pasticci mi spieghi
con molta facilità i vari passaggi per inserire
la macro

ti ringrazio anticipatamente

ciao
paolox
Utente Senior
 
Post: 269
Iscritto il: 05/06/04 11:48
Località: lodigiano

Re: colorare parola o numeri nella stessa cella

Postdi paolox » 26/01/10 17:18

lo allego così se voi e puoi dai un'occhiata

http://rapidshare.com/files/341427432/p ... h.xls.html

grazie

ciao
paolox
Utente Senior
 
Post: 269
Iscritto il: 05/06/04 11:48
Località: lodigiano

Re: colorare parola o numeri nella stessa cella

Postdi Anthony47 » 26/01/10 17:26

Ala domanda delle 16:51 so rispondere anche io...
Metterai la macro in coda al codice gia' inserito, con Alt-F11; poi per lanciare la macro, o la associ a un pulsante (trovi la forma nella barra degli strumenti Moduli, e durante la creazione ti sara' chiesto se vuoi associarlo a qualche macro), oppure da Excel, fai F8, selezioni dall' elenco la macro che ti interessa, premi Esegui.

Ciao.
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: colorare parola o numeri nella stessa cella

Postdi paolox » 27/01/10 06:01

ciao
non riesco a farla funzionare
potete dare un'occhiata al foglio allegato
e vedere perchè non colora
grazie

ciao
paolox
Utente Senior
 
Post: 269
Iscritto il: 05/06/04 11:48
Località: lodigiano

Re: colorare parola o numeri nella stessa cella

Postdi Flash30005 » 27/01/10 09:30

Beh, Paolox
avevo detto
Flash30005 ha scritto:Se i dati sono inseriti come da immagine
la soluzione ti dovrebbe soddisfare


Se tu, invece, vari le righe dei numeri da cercare è chiaro che può non funzionare
vedi immagine inviata il numero "da" (colonna K) inizia dalla riga 5 mentre nel foglio inviato la cella K5 era vuota in quanto inizi dalla riga 4, avendo messo dei campi fissi da 5 a 10 la macro, non trovando alcun valore, saltava la prima routine, così pure per la ricerca dei numeri singoli.
Ora ho modificato il codice e quindi puoi anche spostare di una o più righe e continuerà a funzionare, purché tu non sposti le colonne.
Per quanto riguarda le Ruote
Non prevedevo che nelle piramidi mettessi la sigla ruota con carattere maiuscolo (MI FI CA RM etc ) e poi fai la ricerca per Milano con una stringa in minuscolo "mi". :roll:
Ho modificato la macro per accettare anche il carattere minuscolo ma dovresti prestare un po' più di attenzione ... :aaah

Invio il file

Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: colorare parola o numeri nella stessa cella

Postdi paolox » 27/01/10 21:46

ciao flash
chiedo umilmente scusa
bhe in effetti hai ragione
non sono stato molto attento a compilare il foglio,
devi scusarmi ma sono sempre di corsa
ed a volte pasticcio parecchio,
come dice il proverbio
LA GATTA FRETTOLOSA FECE I GATTINI CIECHI
proverbio per rimarcare che le cose fatte troppo
frettolosamente molte volte riescono male. ...

ciao
paolox
Utente Senior
 
Post: 269
Iscritto il: 05/06/04 11:48
Località: lodigiano

Re: colorare parola o numeri nella stessa cella

Postdi Flash30005 » 28/01/10 03:45

paolox ha scritto:...proverbio per rimarcare che le cose fatte troppo
frettolosamente molte volte riescono male...


L'esperienza mi ha insegnato che se si fanno le cose con più calma e razionalmente
oltre a farle meglio non ci si deve tornare su più volte, tutto a vantaggio del tempo disponibile per occuparsi di altro.
E' quindi è errato pensare che facendo in fretta si risparmia tempo.

Ma insomma, ora, va bene questo file? :roll:

Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: colorare parola o numeri nella stessa cella

Postdi paolox » 28/01/10 06:07

Ma insomma, ora, va bene questo file?


va benissimo

grazie

scusami ma sono in ritardo e vado di fretta.....

lo proverò bene e più tardi con calma

ciao
paolox
Utente Senior
 
Post: 269
Iscritto il: 05/06/04 11:48
Località: lodigiano

Re: colorare parola o numeri nella stessa cella

Postdi paolox » 28/01/10 18:20

ciao
lo provato e riprovato
va molto bene nel colorare ciò che voglio trovare,
bisognerebbe però aggiungere un tasto per resettarli,
succede infatti che se faccio una ricerca poi se ne devo fare un'altra
i numeri della prima ricerca rimangono comunque colorati,
se possibile tra una ricerca ed un'altra ci sia la possibilità di resettare

grazie

ciao
paolox
Utente Senior
 
Post: 269
Iscritto il: 05/06/04 11:48
Località: lodigiano

Re: colorare parola o numeri nella stessa cella

Postdi paolox » 30/01/10 08:40

ciao
verificando bene noto che non tutto fa perfettamente,
ho aggiunto dei numeri nuovi e si vede che la ruota VE non la colora,
la ruota RM qualcuno li colora altri no,
inoltre c'è sempre il problema che non si resetta,
per ora ho provveduto colorando il carattere di nero,
ma se ci fosse un'alternativa sarebbe meglio
ti ringrazio
ciao

Immagine
paolox
Utente Senior
 
Post: 269
Iscritto il: 05/06/04 11:48
Località: lodigiano

Re: colorare parola o numeri nella stessa cella

Postdi Flash30005 » 30/01/10 11:21

paolox ha scritto:per ora ho provveduto colorando il carattere di nero,
ma se ci fosse un'alternativa sarebbe meglio

Se mentre coloravi manualmente i font, avessi registrato una macro avresti potuto inserire il codice ottenuto all''inizio del programma ottenendo il risultato voluto...
quindi è sufficiente inserire la riga codice evidenziata con <<<< nella macro "TrovaEColoraDaA"
Codice: Seleziona tutto
Sub TrovaEColoraDaA()         'esistente
Columns("A:H").Font.ColorIndex = 0   '<<<<< aggiungere qui questa riga
UK = Worksheets("Foglio1").Range("K" & Rows.Count).End(xlUp).Row       'esistente



Ok, ho notato il bug della ruota di Venezia ma il problema riguardava tutte le ruote all'estremità della stringa.
E' sufficiente modificare questa riga di codice nella macro "ScansionaR"

Codice: Seleziona tutto
                        ValStr = c.Value   'esistente
                        For Car = 1 To Len(ValStr) - 2 Step 3   '<<<<<  riga da correggere
                            If Mid(ValStr, Car, 2) = ValR Then   'esistente

così
Codice: Seleziona tutto
                      For Car = 1 To Len(ValStr) Step 3   '<<<<< in pratica, togliere - 2


Fai sapere
Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: colorare parola o numeri nella stessa cella

Postdi paolox » 30/01/10 11:52

ciao
corretto e va alla grande

continuerò a provarlo per vedere se c'è qualche altro errorino

grazie mille

ciao
paolox
Utente Senior
 
Post: 269
Iscritto il: 05/06/04 11:48
Località: lodigiano

Re: colorare parola o numeri nella stessa cella

Postdi paolox » 08/03/10 00:33

ciao
ho notato che con finale 9 fa qualche capriccio,
nelle righe che ho evidenziato con il giallo
i numeri che terminano con il 9 danno problemi,
con il numero 59 si colora solo il 9
con il 69 solo il 9
con il 39 solo il 9

flash mi puoi dare un'occhiata ancora alla macro?

ti ringrazio anticipatamente

ciao

http://rapidshare.com/files/360395651/C ... 2.xls.html
paolox
Utente Senior
 
Post: 269
Iscritto il: 05/06/04 11:48
Località: lodigiano

Prossimo

Torna a Applicazioni Office Windows


Topic correlati a "colorare parola o numeri nella stessa cella":


Chi c’è in linea

Visitano il forum: Nessuno e 34 ospiti