Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Cambio Colore Carattere Cella + Data

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

Cambio Colore Carattere Cella + Data

Postdi Omocaig » 27/07/15 10:19

Ciao a tutti, è possibile,

Ritornando su una cella già compilata, aggiornarne il contenuto e far si che ad ogni aggiornamento cambi il colore del carattere ( non della cella totale, solo della nuova parte che vado ad aggiungere) oltre che venga registrata la data odierna, formattata nello stesso colore dell'aggiornamento corrispondente, in una nota della cella ? E ripetere il tutto ogni volta che viene aggiornata una cella.

Per spiegarmi meglio allego un file esempio, il campo da compilare è il campo "note", per tutta la lunghezza del foglio.

In alternativa alla compilazione delle date nelle note, andrebbe bene raccogliere le date in celle adiacenti.

Non ci saranno più di 10 aggiornamenti per cella e la sequenza di colori deve essere la stessa.

Grazie a tutti, spero il file chiarisca ! Saluti !

http://www.filedropper.com/esempio3
Xp + Office 2003 Ita
Omocaig
Utente Junior
 
Post: 76
Iscritto il: 11/05/15 15:08

Sponsor
 

Re: Cambio Colore Carattere Cella + Data

Postdi wallace&gromit » 30/07/15 20:56

ciao,
questo quesito mi intriga e stavo aspettando qualche contributo per vedere come si poteva risolvere.
Vedo che non si fa avanti nessuno, allora ci provo io, con un abbozzo di idea, che deve essere sviluppato.
Premetto che non penso sia fattibile la modifica come la vuoi tu, durante l'aggiunta del testo sempre nella stessa cella (ma magari qualcuno mi smentirà).
Comunque io sono partito dall'idea che nelle celle delle colonne da C a L vadano inseriti mano a mano i frammenti di testo da aggiungere e non le date di creazione (quelle al limite si aggiungono come nota alla cella, ma è un tema che bisognerà sviluppare separatamente, immagino, con un'istruzione tipo "workbook change").
Per il momento mi sono limitato a scrivere una macro che in B15 concatena i testi che trova nelle celle da C15 a L15, colorandoli pezzo per pezzo.
La macro è questa:
Codice: Seleziona tutto
Sub scriviTestoColore()
Range("B15").Select
testo = ""
colore = 3
inizio = 1
lung = 0

For j = 1 To 10
testo = testo & Range("B15").Offset(0, j)
Next j

Range("B15") = testo

For i = 1 To 10
lung = Len(Range("B15").Offset(0, i))
With ActiveCell.Characters(Start:=inizio, Length:=lung).Font
        .ColorIndex = colore
End With
inizio = inizio + lung
colore = colore + 1

Next i

End Sub

Provala e vediamo se vale la pena lavorarci o se è da buttare!
stato 2014: Office2003/2013 su win7
Avatar utente
wallace&gromit
Utente Senior
 
Post: 1420
Iscritto il: 16/01/12 14:21

Re: Cambio Colore Carattere Cella + Data

Postdi Omocaig » 31/07/15 12:58

Grande !! Questa è una bella soluzione ma a me interessava compilare volta per volta la stessa cella, quindi, un'idea ce l'ho ma è un po' macchinosa.

Basterebbe usare delle colonne di supporto in cui inserisco la seguente formula:
Codice: Seleziona tutto
=SE(VAL.ERRORE(ANNULLA.SPAZI(SOSTITUISCI(STRINGA.ESTRAI($D14;TROVA(AP$1;$D14)-8;8);",";"")));"";ANNULLA.SPAZI(SOSTITUISCI(STRINGA.ESTRAI($D14;TROVA(AP$1;$D14)-10;10);",";"")))
, spiegata nel seguente post: http://www.pc-facile.com/forum/viewtopic.php?f=26&t=104906

Imposto il tutto per estrarre Stop 1 nella cella di appoggio contenente la formula sopra citata (come nel file allegato) Es, Stop 1, Stop 2, etc etc..

A questo punto, basta inserire questa macro di tipo worksheetchange per generare, in un'altra colonna di appoggio, la data in cui la formula rileva Stop 1 e così via per tutti gli altri Stop 2, Stop 3, Stop 4..

Codice: Seleziona tutto
Private Sub Worksheet_Change(ByVal Target As Range)
Set KeyCells = Range("C5:C10000")
If Not Application.Intersect(KeyCells, Range(Target.Address)) Is Nothing _
    And Cells(Target.Row, "M") = "" And Not IsNumeric(Target.Value) Then
    ActiveSheet.Unprotect
    With Cells(Target.Row, "M")
        .Value = Int(Now)
        .Locked = False
    End With
    ActiveSheet.Protect DrawingObjects:=False, Contents:=False, Scenarios:=False
End If
Private Sub Worksheet_Change(ByVal Target As Range)
Set KeyCells = Range("D5:D10000")
If Not Application.Intersect(KeyCells, Range(Target.Address)) Is Nothing _
    And Cells(Target.Row, "N") = "" And Not IsNumeric(Target.Value) Then
    ActiveSheet.Unprotect
    With Cells(Target.Row, "N")
        .Value = Int(Now)
        .Locked = False
    End With
    ActiveSheet.Protect DrawingObjects:=False, Contents:=False, Scenarios:=False
End If
End Sub
'Etc.. per ogni colonna


Poi, con un altro pezzo di macro di tipo worksheet change, bisognerebbe cambiare il colore del testo solo fino a Stop 1 ed aggiungere la data registrata nella cella di supporto alle Note di Excel.

Al nuovo aggiornamento della cella inserisco una nuova parte di testo concludendo con Stop 2, quindi, dovrebbero attivarsi la relativa formula e la macro worksheet change che colori la parte di testo da Stop 1 a Stop 2 di un altro colore rispetto a quello precedente, così direi fino al massimo di 10 Aggiornamenti. Questo comporterebbe l'utilizzo di ben 20 colonne di supporto ma... a mali estremi, estremi rimedi !

Ecco L'esempio http://www.filedropper.com/esempio3_1

Grazie a tutti !
Xp + Office 2003 Ita
Omocaig
Utente Junior
 
Post: 76
Iscritto il: 11/05/15 15:08

Re: Cambio Colore Carattere Cella + Data

Postdi Omocaig » 04/09/15 10:32

Ciao, vorrei riaprire questo post.

Ricapitolando, sono riuscito ad ottenere il risultato sperato ma Excel si blocca non appena scrivo Stop 2 in colonna D e non so perché, succede anche a voi che magari avete altre versioni ?
Una volta risolto questo problema vorrei poter scrivere le date contenute nelle celle M, N, O, P, Q , in maniera consecutiva, rispettivamente con il caratteri con i colorindex 42 43 44 45 46, nel campo note oltre a colorare i caratteri della cella D precedente ogni stop ( Stop + Numero Incluso fino allo stop precedente, escluso ) consecutivamente con gli stessi index delle date ma non so nemmeno se sia possibile.

Ecco il file, aggiungendo Stop 2, Stop 3, Stop 4, Stop 5, viene aggiunta la data odierna nella colonna M, N, O, P, Q
http://www.filedropper.com/esempio3

Penso che possa essere interessante, saluti a tutti e grazie !
Xp + Office 2003 Ita
Omocaig
Utente Junior
 
Post: 76
Iscritto il: 11/05/15 15:08

Re: Cambio Colore Carattere Cella + Data

Postdi Anthony47 » 04/09/15 23:28

La macro di Worksheet_Change si attiva ad ogni modifica che fai sul foglio, quindi anche nei casi in cui la macro scrive sul foglio; ad esempio sulla nona riga (per cominciare) con quel ".Value = Int(Now)". Insomma si annoda su se stessa all'infinito.
Non ho guardato la macro nel suo complesso, ma se vuoi impedire l'innesco della macro devi inserire le istruzioni
Codice: Seleziona tutto
Application.EnableEvents = False     'Questa impedisce il riconoscimento di ulteriori "eventi"
Codice: Seleziona tutto
Application.EnableEvents = True      'Questa riabilita il riconoscimento degli "Eventi"

E' importante che gli eventi vengano riabilitati in qualsiasi caso di uscita dalla macro.

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13894
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "Cambio Colore Carattere Cella + Data":


Chi c’è in linea

Visitano il forum: Nessuno e 16 ospiti