簡體   English   中英

如何僅將單元格中的紅色文本復制到另一個單元格?

[英]How do I copy only the red text in a cell to another cell?

我在 Excel 中有包含不同顏色文本的單元格。 我希望能夠將特定顏色的文本提取到另一個單元格。

我如何修改我的 UDF 來解決這個問題?

Function RedText(Rng As Range) As String
  Dim X As Long, S As String
  S = Rng.Text
  For X = 1 To Len(Rng.Text)
    If Rng.Characters(X, 1).Font.Color <> vbRed Then
      If Mid(S, X, 1) <> vbLf Then Mid(S, X, 1) = " "
    End If
  Next
  RedText = Replace(Replace(Application.Trim(S), " " & vbLf, vbLf), vbLf & " ", vbLf)
End Function

謝謝

例如:

Function TextByColor(Rng As Range, hex As String) As String
  Dim X As Long, S As String, clr As Long
  S = Rng.Text
  clr = HexToRGB(hex)
  For X = 1 To Len(Rng.Text)
    If Rng.Characters(X, 1).Font.Color <> clr Then
      If Mid(S, X, 1) <> vbLf Then Mid(S, X, 1) = " "
    End If
  Next
  RedText = Replace(Replace(Application.Trim(S), " " & vbLf, vbLf), vbLf & " ", vbLf)
End Function

Function HexToRGB(hex As String) As Long
    Dim r, g, b
    r = Application.Hex2Dec(Left(hex, 2))
    g = Application.Hex2Dec(Mid(hex, 3, 2))
    b = Application.Hex2Dec(Right(hex, 2))
    HexToRGB = RGB(r, g, b)
End Function

用法: =textbycolor(A3,"0000FF")

如評論中所述 - 這就是您不能在完整十六進制值上使用 HEX2DEC 的原因(R 和 G 組件被切換):

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM