提示:其他語言是Google翻譯的。 你可以訪問 English 版本。
登入
x
or
x
x
註冊
x

or

如何從Excel中的單元格提取基於字體顏色的文本?

如果您在Excel的每個單元格中都有一些紅色文本的數據列表,如下圖所示,並且您知道如何僅提取紅色文本嗎? 現在我將介紹一種快速方法來解決基於Excel中單元格的字體顏色提取文本的難題。

DOC提取物,文本顏色1

根據每個單元格的字體顏色提取文本


箭頭藍色右泡 根據每個單元格的字體顏色提取文本


在Excel中,只能使用定義的函數根據字體顏色提取文本。

1。 按 Alt + F11鍵 鍵一起打開Microsoft Visual Basic for Applications窗口。

2。 點擊 插入 > 模塊 並將隨後的VBA代碼複製到彈出窗口。

VBA:根據字體顏色提取文本

Function GetColorText(pRange As Range) As String
	'Updateby20141105
	Dim xOut As String
	Dim xValue As String
	Dim i As Long
	xValue = pRange.Text

	For i = 1 To VBA.Len(xValue)

		If pRange.Characters(i, 1).Font.Color = vbRed Then
			xOut = xOut & VBA.Mid(xValue, i, 1)
		End If

	Next

	GetColorText = xOut
End Function

3。 然後保存並關閉對話框,然後選擇數據列表旁邊的空白單元格,鍵入此公式 = GetColorText(A1) (A1表示要從中提取文本的單元格),請按 輸入 鍵獲取所需的文本,然後拖動自動填充句柄將公式填入所需的範圍。

現在你可以看到所有的紅色文字被提取。

DOC提取物,文本顏色2

小技巧: :在上面的VBA代碼中,如果您需要從單元格中提取黑色文本,則可以更改顏色名稱 顏色= vbRed 顏色= vbBlack.


相關文章:



推薦的Excel生產力工具

Kutools for Excel幫助您提前完成工作,並從人群中脫穎而出

  • 超過300強大的高級功能,專為1500工作場景設計,通過70%提高生產力,讓您有更多時間照顧家庭和享受生活。
  • 不再需要記憶公式和VBA代碼,從現在起讓你的大腦休息一下。
  • 成為3分鐘的Excel專家,複雜和重複的操作可以在幾秒鐘內完成,
  • 每天減少成千上萬的鍵盤和鼠標操作,現在告別職業病。
  • 110,000高效人才和300 +世界知名公司的選擇。
  • 60-day full功能免費試用。 60天退款保證。 2多年的免費升級和支持。

將選項卡式瀏覽和編輯帶到Microsoft Office,遠比瀏覽器的選項卡強大

  • Office選項卡專為Word,Excel,PowerPoint和其他Office應用程序設計:Publisher,Access,Visio和Project。
  • 在同一窗口的新選項卡中打開並創建多個文檔,而不是在新窗口中。
  • 通過50%提高您的工作效率,每天為您減少數百次鼠標點擊!
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    prudwi · 7 months ago
    The code works well if the red strings are continuous. In case they are separated in the source cell, they are glued to each other in output cell. I mean there is no space in the output if the red text strings are away from each other. Can you please provide a solution for this?
  • To post as a guest, your comment is unpublished.
    Kazam Raza · 7 months ago
    thanks, very interesting code.
  • To post as a guest, your comment is unpublished.
    Roberto · 8 months ago
    dimenticavo io ho Excel 2010
  • To post as a guest, your comment is unpublished.
    Roberto · 8 months ago
    Buonasera, grazie mille un'ottima funzione. Però ho un problema, quando val nel foglio ed inserisco es. = GetColorText (A1) mi restituisce il valore giusto però come riavvio il file mi da errore #VALORE!, se poi clicco 2 volte sopra mi da il valore corretto e così via. che posso fare?
  • To post as a guest, your comment is unpublished.
    JM · 1 years ago
    Hey, Thanks for the Tip. Works great with Red and Black.
    What if I want to parse "Purple"? changing it vbPurple does not work.
    Thanks