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

Excelのセルからフォントの色に基づいてテキストを抽出するにはどうすればよいですか?

以下のスクリーンショットに示すように、Excelの各セルに赤いテキストが含まれるデータリストがあり、赤いテキストのみを抽出する方法を知っていますか? 次に、Excelのセルからフォントの色に基づいてテキストを抽出するパズルを解く簡単な方法を紹介します。

doc-extract-text-color-1

各セルからフォントの色に基づいてテキストを抽出します

OfficeタブOfficeでタブ付きの編集と閲覧を有効にし、作業をはるかに簡単にします...
Kutools for Excelはほとんどの問題を解決し、生産性を80%向上させます
  • 何でも再利用: 最もよく使用される、または複雑な数式、グラフなどをお気に入りに追加して、後ですぐに再利用できます。
  • 20以上のテキスト機能: テキスト文字列から数値を抽出します。 テキストの一部を抽出または削除します。 数字と通貨を英語の単語に変換します。
  • マージツール:複数のワークブックとシートをXNUMXつに。 データを失うことなく複数のセル/行/列をマージします。 重複する行と合計をマージします。
  • 分割ツール:値に基づいてデータを複数のシートに分割します。 XNUMXつのワークブックから複数のExcel、PDF、またはCSVファイル。 XNUMX列から複数列。
  • 貼り付けスキップ 非表示/フィルタリングされた行; カウントと合計 背景色別; パーソナライズされた電子メールを複数の受信者にまとめて送信します。
  • スーパーフィルター: 高度なフィルタースキームを作成し、任意のシートに適用します。 並び替え 週、日、頻度など。 フィルタ 太字、数式、コメント...
  • 300 以上の強力な機能。 Office 2007-2021 および 365 で動作します。 すべての言語をサポートします。 企業や組織に簡単に導入できます。

矢印青い右バブル 各セルからフォントの色に基づいてテキストを抽出します

Excelでは、定義された関数を使用して、フォントの色に基づいてテキストを抽出することしかできません。

1。 押す Altキー+ F11 キーを一緒に押して、Microsoft Visual Basic forApplicationsウィンドウを開きます。

2。 クリック インセット > モジュール 次のVBAコードをポップアウトされたウィンドウにコピーします。

VBA:フォントの色に基づいてテキストを抽出します

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.次に、ダイアログを保存して閉じ、データリストの横にある空白のセルを選択して、この数式を入力します = GetColorText(A1) (A1はテキストを抽出するセルを示します)、を押します 入力します キーを押して必要なテキストを取得し、自動入力ハンドルをドラッグして、数式を目的の範囲に入力します。

これで、すべての赤いテキストが抽出されていることがわかります。

doc-extract-text-color-2

先端:上記のVBAコードでは、必要に応じて、このスクリプトTextColor = RGB(255、0、0)の色rgbを他の色に変更できます。


関連記事:


最高のオフィス生産性ツール

Kutools for Excelはほとんどの問題を解決し、生産性を80%向上させます

  • 再利用: すばやく挿入 複雑な数式、チャート および以前に使用したものすべて。 セルを暗号化する パスワード付き。 メーリングリストを作成する そしてメールを送る...
  • スーパーフォーミュラバー (複数行のテキストと数式を簡単に編集できます); 読書レイアウト (多数のセルを簡単に読み取って編集する); フィルター範囲に貼り付け...
  • セル/行/列をマージする データを失うことなく; 分割セルコンテンツ; 重複する行/列を組み合わせる...重複セルを防止します。 範囲を比較する...
  • [複製]または[一意]を選択します 行; 空白行を選択 (すべてのセルは空です); スーパーファインドとファジーファインド 多くのワークブックで; ランダム選択...
  • 正確なコピー 数式参照を変更せずに複数のセル。 参照の自動作成 複数のシートに; 箇条書きを挿入、チェックボックスなど...
  • テキストを抽出、テキストの追加、位置による削除、 スペースを削除する; ページング小計の作成と印刷。 セルの内容とコメントを変換する...
  • スーパーフィルター (フィルタースキームを保存して他のシートに適用します); 高度な並べ替え 月/週/日、頻度など。 特殊フィルター 太字、斜体...
  • ワークブックとワークシートを組み合わせる; キー列に基づいてテーブルをマージします。 データを複数のシートに分割; xls、xlsx、PDFをバッチ変換...
  • 300 以上の強力な機能. Office / Excel 2007-2021 および 365 をサポートします。すべての言語をサポートします。 企業や組織に簡単に導入できます。 フル機能の 30 日間無料トライアル。 60日間の返金保証。
kteタブ201905

Officeタブは、タブ付きのインターフェイスをOfficeにもたらし、作​​業をはるかに簡単にします

  • Word、Excel、PowerPointでタブ付きの編集と読み取りを有効にする、パブリッシャー、アクセス、Visioおよびプロジェクト。
  • 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
  • 生産性を 50% 向上させ、毎日何百回もマウス クリックを減らすことができます!
officetab下部
コメントを並べ替える
コメント (14)
まだ評価はありません。 最初に評価してください!
このコメントは、サイトのモデレーターによって最小化されました
こんにちは、vbBlueを使ってみたところ、うまくいきませんでした。 助けてください? ありがとう!
このコメントは、サイトのモデレーターによって最小化されました
フォントの色をexctの青い色にします。
ブルーカラーは「ライトブルー、スカイブルー、ダークブルー」の種類が多いので
vbaはexctカラーのみに一致します。??????
このコメントは、サイトのモデレーターによって最小化されました
赤い文字列が連続している場合、コードはうまく機能します。 ソースセルで分離されている場合は、出力セルで互いに接着されます。 赤いテキスト文字列が互いに離れている場合、出力にスペースがないことを意味します。 これに対する解決策を提供していただけますか?
このコメントは、サイトのモデレーターによって最小化されました
ねえ、ヒントをありがとう。 赤と黒でうまく機能します。
「紫」を解析したい場合はどうなりますか? vbPurpleを変更しても機能しません。
感謝
このコメントは、サイトのモデレーターによって最小化されました
Buonasera、grazie milleun'ottimafunzione。 Peròhounproblema、quando val nel foglio edinseriscoes。 = GetColorText(A1)mi restituisceilvaloregiustoperòcomeriavvioilfile mi da errore #VALORE !, se poi clicco 2 volte sopra mi dailvalorecorrettoecosìvia。 チェポッソ運賃?
このコメントは、サイトのモデレーターによって最小化されました
dimenticavo io ho Excel 2010
このコメントは、サイトのモデレーターによって最小化されました
ありがとう、非常に興味深いコード。
このコメントは、サイトのモデレーターによって最小化されました
赤い文字列が連続している場合、コードはうまく機能します。 ソースセルで分離されている場合は、出力セルで互いに接着されます。 赤いテキスト文字列が互いに離れている場合、出力にスペースがないことを意味します。 これに対する解決策を提供していただけますか?
このコメントは、サイトのモデレーターによって最小化されました
これを試してください、それはうまくいくはずです
関数GetColorText(pRange As Range)As String
'複数に更新
文字列としての薄暗いxOut
Dim xValue を文字列として
ディム・アイ・アス・ロング
Dim wasRed As Boolean
xValue = pRange.Text

i = 1の場合VBA.Len(xValue)へ

If pRange.Characters(i、1).Font.Color = vbRed Then
xOut = xOut&VBA.Mid(xValue、i、1)
wasRed = 真
ElseIf wasRed = True Then
wasRed = 偽
xOut = xOut& ";"
終了する場合

次へ

GetColorText = xOut
エンド機能

このコメントは、サイトのモデレーターによって最小化されました
トンのおかげでそれは完全にうまくいきました。 あなたは救世主ティムです:-) 
このコメントは、サイトのモデレーターによって最小化されました
それでも青いテキスト(#1166BB)を抽出できませんでした。 1166進数:#XNUMXBBを使用して必要なカラーテキストを取得する方法はありますか?
このコメントは、サイトのモデレーターによって最小化されました
こんにちは、Robert E Perez、VBAコードを更新しました。現在、rgbコードによる色付きテキストの取得をサポートしています。 コードを再試行できます。
このコメントは、サイトのモデレーターによって最小化されました
コンマで区切られたセルに特定のテキストがあり、各テキストの色があります。 区切り文字機能を使用しているときに、テキストのフォントの色を保持できません。助けてください!
このコメントは、サイトのモデレーターによって最小化されました
こんにちは、jdhjjd、あなたの質問がよくわかりません。 セルから特定のテキストを抽出し、そのフォントの色を下のスクリーンショットのように維持しますか?
https://www.extendoffice.com/images/stories/comments/sun-comment/split_and_keep_font_color.png
またはセルを分割して、各テキストのフォントの色を維持しますか?
https://www.extendoffice.com/images/stories/comments/sun-comment/split_and_keep_font_color-2.png
ここにはまだコメントが投稿されていません
あなたのコメントを残す
ゲストとして投稿
×
この投稿を評価:
0   文字
推奨される場所

フォローする

著作権©の2009 - WWW。extendoffice.com。 | | 全著作権所有。 搭載 ExtendOffice。 | サイトマップ
MicrosoftおよびOfficeのロゴは、米国MicrosoftCorporationの米国およびその他の国における商標または登録商標です。
SectigoSSLで保護