Note: The other languages of the website are Google-translated. Back to English

Come estrarre il testo in base al colore del carattere da una cella in Excel?

Se hai un elenco di dati con del testo rosso in ogni cella in Excel, come mostrato nell'immagine sottostante, e sai come estrarre solo il testo rosso? Ora introdurrò un modo rapido per risolvere il puzzle che estrae il testo in base al colore del carattere da una cella in Excel.

doc-estratto-testo-colore-1

Estrai il testo in base al colore del carattere da ogni cella

Scheda Office Abilita la modifica a schede e la navigazione in Office e semplifica notevolmente il lavoro ...
Kutools per Excel risolve la maggior parte dei tuoi problemi e aumenta la tua produttività dell'80%
  • Riutilizza qualsiasi cosa: Aggiungi le formule, i grafici e qualsiasi altra cosa più usati o complessi ai tuoi preferiti e riutilizzali rapidamente in futuro.
  • Più di 20 funzioni di testo: Estrai numero dalla stringa di testo; Estrai o rimuovi parte di testi; Converti numeri e valute in parole inglesi.
  • Unisci strumenti: Più cartelle di lavoro e fogli in uno; Unisci più celle / righe / colonne senza perdere dati; Unisci righe duplicate e somma.
  • Strumenti di divisione: Suddivisione dei dati in più fogli in base al valore; Una cartella di lavoro su più file Excel, PDF o CSV; Da una colonna a più colonne.
  • Incolla Salto Righe nascoste / filtrate; Count And Sum di Background Color; Invia e-mail personalizzate a più destinatari in blocco.
  • Super filtro: Crea schemi di filtri avanzati e applicali a qualsiasi foglio; Riordina per settimana, giorno, frequenza e altro; Filtro in grassetto, formule, commenti ...
  • Più di 300 potenti funzionalità; Funziona con Office 2007-2021 e 365; Supporta tutte le lingue; Facile implementazione nella tua azienda o organizzazione.

freccia blu freccia destra Estrai il testo in base al colore del carattere da ogni cella

In Excel, puoi solo utilizzare la funzione definita per estrarre il testo in base al colore del carattere.

1. Stampa Alt + F11 tasti insieme per aprire la finestra di Microsoft Visual Basic, Applications Edition.

2. Clic inserire > Modulo e copia il seguente codice VBA nella finestra saltata fuori.

VBA: estrai il testo in base al colore del carattere

Function GetColorText(pRange As Range) As String
'UpdatebyExtendoffice20220621
Dim xOut As String
Dim xValue As String
Dim i As Long
Dim TextColor
TextColor = RGB(255, 0, 0) 'colorindex RGB
xValue = pRange.Text
For i = 1 To VBA.Len(xValue)
  If pRange.Characters(i, 1).Font.Color = TextColor Then
  xOut = xOut & VBA.Mid(xValue, i, 1)
  End If
Next
GetColorText = xOut
End Function

3. Quindi salvare e chiudere la finestra di dialogo e selezionare una cella vuota accanto all'elenco dei dati, digitare questa formula = GetColorText (A1) (A1 indica la cella da cui si desidera estrarre il testo), premere Entra per ottenere il testo necessario, quindi trascinare la maniglia di riempimento automatico per riempire la formula nell'intervallo desiderato.

Ora puoi vedere che tutto il testo rosso viene estratto.

doc-estratto-testo-colore-2

Consiglio: Nel codice VBA sopra, puoi cambiare il colore rgb in questo script TextColor = RGB(255, 0, 0) ad altri per soddisfare le tue esigenze.


Articoli relativi:


I migliori strumenti per la produttività in ufficio

Kutools per Excel risolve la maggior parte dei tuoi problemi e aumenta la tua produttività dell'80%

  • Riutilizzo: Inserisci rapidamente formule complesse, grafici e tutto ciò che hai usato prima; Crittografa celle con password; Crea mailing list e invia email ...
  • Bar Super Formula (modifica facilmente più righe di testo e formula); Layout di lettura (leggi e modifica facilmente un gran numero di celle); Incolla su intervallo filtrato...
  • Unisci celle / righe / colonne senza perdere dati; Contenuto delle celle divise; Combina righe / colonne duplicate... Impedisci celle duplicate; Confronta intervalli...
  • Seleziona Duplica o Unico Righe; Seleziona Righe vuote (tutte le celle sono vuote); Super Find e Fuzzy Find in molte cartelle di lavoro; Selezione casuale ...
  • Copia esatta Più celle senza modificare il riferimento della formula; Riferimenti di creazione automatica a più fogli; Inserisci punti elenco, Caselle di controllo e altro ...
  • Estrai testo, Aggiungi testo, Rimuovi per posizione, Rimuovi spazio; Creare e stampare totali parziali di paging; Converti contenuto e commenti tra celle...
  • Super filtro (salva e applica schemi di filtri ad altri fogli); Ordinamento avanzato per mese / settimana / giorno, frequenza e altro; Filtro speciale in grassetto, corsivo ...
  • Combina cartelle di lavoro e fogli di lavoro; Unisci tabelle in base a colonne chiave; Suddividi i dati in più fogli; Conversione in batch xls, xlsx e PDF...
  • Più di 300 potenti funzionalità. Supporta Office/Excel 2007-2021 e 365. Supporta tutte le lingue. Facile implementazione nella tua azienda o organizzazione. Funzionalità complete Prova gratuita di 30 giorni. Garanzia di rimborso di 60 giorni.
scheda kte 201905

Scheda Office porta l'interfaccia a schede a Office e semplifica notevolmente il lavoro

  • Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Apri e crea più documenti in nuove schede della stessa finestra, piuttosto che in nuove finestre.
  • Aumenta la produttività del 50% e riduce ogni giorno centinaia di clic del mouse!
fondo officetab
Commenti (14)
Ancora nessuna valutazione. Puoi essere il primo a votare!
Questo commento è stato fatto dal moderatore sul sito
Ciao, quando ho provato a usare vbBlue, non ha funzionato. Aiuto per favore? Grazie!
Questo commento è stato fatto dal moderatore sul sito
Assegna il colore del carattere al colore blu esatto.
Perché ci sono molti tipi di colore blu "azzurro, azzurro, blu scuro"
vba corrisponde solo al colore esatto.??????
Questo commento è stato fatto dal moderatore sul sito
Il codice funziona bene se le stringhe rosse sono continue. Nel caso in cui siano separati nella cella di origine, vengono incollati tra loro nella cella di output. Voglio dire, non c'è spazio nell'output se le stringhe di testo rosse sono lontane l'una dall'altra. Potete per favore fornire una soluzione per questo?
Questo commento è stato fatto dal moderatore sul sito
Hey, grazie per il consiglio. Funziona alla grande con rosso e nero.
E se volessi analizzare "Viola"? cambiarlo vbPurple non funziona.
Grazie
Questo commento è stato fatto dal moderatore sul sito
Buonasera, grazie mille un'ottima funzione. Però ho un problema, quando val nel foglio ed inserisco es. = GetColorText (A1) mi riporta il valore giusto però come riavvio il file mi da errore #VALORE!, se poi clicco 2 sopra mi da il valore corretto e così volte via. che posso fare?
Questo commento è stato fatto dal moderatore sul sito
dimenticavo io ho Excel 2010
Questo commento è stato fatto dal moderatore sul sito
grazie, codice molto interessante.
Questo commento è stato fatto dal moderatore sul sito
Il codice funziona bene se le stringhe rosse sono continue. Nel caso in cui siano separati nella cella di origine, vengono incollati tra loro nella cella di output. Voglio dire, non c'è spazio nell'output se le stringhe di testo rosse sono lontane l'una dall'altra. Potete per favore fornire una soluzione per questo?
Questo commento è stato fatto dal moderatore sul sito
Prova questo, dovrebbe funzionare
Funzione GetColorText(pRange As Range) As String
'Aggiornato per ottenerne più
Dim xOut come stringa
Dim xValue come stringa
Dim I As Long
Dim wasRed As Boolean
xValue = pRange.Text

Per i = 1 A VBA.Len(xValue)

Se pRange.Characters(i, 1).Font.Color = vbRed Allora
xOut = xOut & VBA.Mid(xValue, i, 1)
wasRed = Vero
ElseIf wasRed = True Allora
wasRed = Falso
xOut = xOut & ";"
End If

Successiva

GetColorText = xOut
End Function

Questo commento è stato fatto dal moderatore sul sito
Grazie mille ha funzionato perfettamente. Sei un salvatore Tim :-) 
Questo commento è stato fatto dal moderatore sul sito
Non ero ancora in grado di estrarre il testo blu (#1166BB). C'è un modo per usare Hex: #1166BB per ottenere il testo a colori di cui ho bisogno?
Questo commento è stato fatto dal moderatore sul sito
Ciao, Robert E Perez, ho aggiornato il codice VBA, ora supporta l'ottenimento di testo colorato tramite codice rgb. Puoi provare di nuovo il codice.
Questo commento è stato fatto dal moderatore sul sito
Ho un testo particolare in una cella separata da Virgola e Avere un colore per ogni testo. Durante l'utilizzo della funzione Delimiter, non riesco a mantenere il colore del carattere del testo. Apprezzo il tuo aiuto!
Questo commento è stato fatto dal moderatore sul sito
Ciao, jdhjjd, non capisco chiaramente la tua domanda. Vuoi estrarre il testo specifico dalle celle e mantenere il colore del carattere come mostrato nell'immagine sottostante?
https://www.extendoffice.com/images/stories/comments/sun-comment/split_and_keep_font_color.png
o dividere le celle e mantenere ogni colore del carattere del testo?
https://www.extendoffice.com/images/stories/comments/sun-comment/split_and_keep_font_color-2.png
Non ci sono ancora commenti pubblicati qui
Lasciate i vostri commenti
Pubblicazione come ospite
×
Valuta questo post:
0   Personaggi
Posizioni suggerite

Seguici

Copyright © 2009 - www.extendoffice.com. | Tutti i diritti riservati. Offerto da ExtendOffice, | Mappa del sito
Microsoft e il logo Office sono marchi o marchi registrati di Microsoft Corporation negli Stati Uniti e / o in altri paesi.
Protetto da Sectigo SSL