クッキーは、私たちは私たちのサービスを提供するのに役立ちます。 当社のサービスを使用することで、クッキーの我々の使用に同意するものとします。
ヒント:他の言語はGoogle翻訳されています。 訪問することができます English このリンクのバージョン。
ログイン
x
or
x
x
登録
x

or

Excelのセルからフォントの色に基づいてテキストを抽出する方法は?

Excelの各セルに赤いテキストを含むデータリストがある場合、次のスクリーンショットのように、赤いテキストのみを抽出する方法は分かりますか? ここでは、Excelのセルからフォントの色に基づいてテキストを抽出するパズルを簡単に解決する方法を紹介します。

doc-extract-text-color-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-extract-text-color-2

先端:上記のVBAコードでは、セルから黒のテキストを抽出する必要がある場合は、色の名前を変更することができます カラー= vbRed 〜へ カラー= vbBlack.


関連記事:



推奨生産性ツール

Office Tab

金星1 Chrome、Firefox、新しいInternet Explorerと同様に、Excelやその他のOfficeソフトウェアに便利なタブを持たせる。

Kutools for Excel

金星1 素晴らしい! 5分で生産性を向上させます。 特別なスキルは必要ありません。毎日2時間節約できます!

金星1 300 Excelの新機能は、Excelを非常に簡単かつ強力にする:

  • データを失うことなくセル/行/列をマージします。
  • 複数のシートとブックを結合して統合する。
  • 範囲を比較し、複数の範囲をコピーし、テキストを日付、単位、通貨の変換に変換します。
  • 色数、ページング小計、高度なソートとスーパーフィルター、
  • 詳細選択/挿入/削除/テキスト/書式/リンク/コメント/ワークブック/ワークシートツール...

Kutools for Excelのスクリーンショット

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 · 2 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 · 2 months ago
    thanks, very interesting code.
  • To post as a guest, your comment is unpublished.
    Roberto · 3 months ago
    dimenticavo io ho Excel 2010
  • To post as a guest, your comment is unpublished.
    Roberto · 3 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