アプリ版:「スタンプのみでお礼する」機能のリリースについて

Excelで英単語・英熟語の一覧を作成しております。

セル内に文字列で例文を記入し、重要部分に下線を引いているのですが
その下線部のみ書式を一括で変更したい(太字や文字色の変更)と考えております。

(例) セルC2に「I have to prepare for tomorrow's English test.」と記入してあり
  「prepare for」の部分に下線を引いてあります。

このような例文(セル)が数百あるのですが
一括で下線部のみの書式を変換する方法はございますでしょうか。

詳しい方が居られましたら、是非御教授下さい。
よろしくお願い致します。

A 回答 (5件)

数式などを使わずテキストのみなら、変換したいセルの範囲を


コピーして、Wordに貼り付けて変換してはいかが。

設定手順の例

元の書式を維持した貼り付けにして、Wordに貼り付け。
[高度な検索]を開きます。

[書式]ボタンを押し[フォント]を選択してダイアログを出します。
[下線]を選択して[OK]すると、書式として下線が登録されます。
[検索する場所]を[メイン文書]に指定すると、Wordに貼り付けた
セル内の下線文字列が選択状態になります。
設定したい書式(太字なら[ Ctrl+B ]キーなど)を指定。

指定した書式になったら、コピーしてExcelのセルへ貼り付け。
これでマクロを使わないでの手作業でも一括処理ができます。
「エクセル:セル内の文字列の下線部のみを一」の回答画像3
    • good
    • 1
この回答へのお礼

ご回答ありがとうございます。

教えて頂いた方法で解決いたしました。

大変助かりました。誠にありがとうございます。

お礼日時:2024/03/11 15:35

当方もエクセルVBA初心者です。

諸兄のHPを参考にユーザー関数を作って
見ました。
かなり冗長なプロシャージャですが,エクセルの標準モジュールに貼り付けてください。
VBAの開発タグが表示されないとVBAの画面が表示されませんので,
もし不明の時は,くぐってみてください。
入力されているセルの脇のセルにでも,=komoji_to_omoji(セル番地)
といれて,後は,ドラッグでコピーすればいいかと思います。
この,関数は,下線が文字列に一カ所しかない場合のみで,複数箇所に
ある場合には,対応していません。

Public Function komoji_to_omoji(rng As Range) As Variant
Dim n, s, e As Integer
Dim buff As String

For n = 1 To Len(rng.Value)
If rng.Characters(n, 1).Font.Underline <> xlNone Then
s = n
Exit For
Else
buff = buff & Mid(rng.Value, n, 1)
End If
Next

If s > 0 Then
For n = s To Len(rng.Value)
If rng.Characters(n, 1).Font.Underline = xlNone Then
e = n
Exit For
Else
buff = buff & UCase(Mid(rng.Value, n, 1))
End If
Next
End If

If e < Len(rng.Value) Then
For n = e To Len(rng.Value)
If rng.Characters(n, 1).Font.Underline <> xlNone Then
Exit For
Else
buff = buff & Mid(rng.Value, n, 1)
End If
Next
End If


komoji_to_omoji = buff


End Function
「エクセル:セル内の文字列の下線部のみを一」の回答画像5
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

1つのセルに複数個所の下線部があるので、折角ご教授いただきましたにもかかわらず、残念です(泣)

No.3 enunokokoro様に教えて頂いた方法で解決いたしました。

ありがとうございました。

お礼日時:2024/03/11 15:33

マクロの提供は可能ですが、現状では要件が不明です。


もし、マクロの提供を望まれるなら、以下の件に補足してください。
以下不明点です。
1.下線の部分をどのようにされたいのでしょうか。
①太字にしたい。
②太字にして、かつ色を付けたい。(その場合、色の種類も提示してください、例 赤、緑、黄等)
③色を付けたい。(その場合、色の種類も提示してください)
上記の何れの場合でも、下線はなくなりますが、それで良いでしょうか。
(下線を残して太字にしたい等ということではないと解釈しました)

2.例では、C2のセルが対象になっていますが、具体的には、どのセルの範囲が、対象となるのでしょうか。
シート全体のセルを対象にすることは可能ですが、その分、遅くなります。

3.あなたのexcelの環境がマクロの実行を可能な状態になっている必要があります。
以下のマクロをマクロを標準モジュールに登録し、それを実行して添付図のようなメッセージが表示されれば、マクロの実行は可能です。
添付図のメッセージが表示されるようになりましたら、その旨返信ください。

Public Sub マクロ試験()
MsgBox ("マクロが実行されました")
End Sub
「エクセル:セル内の文字列の下線部のみを一」の回答画像4
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

マクロのご提供まで、ご提案下さり誠にありがとうございます。

No.3 enunokokoro様に教えて頂いた方法で解決いたしました。

お礼日時:2024/03/11 15:31

こんにちは



「検索」の機能に書式で検索する方法が用意されていますけれど、あくまでも「セルの書式」を検索するものですので、残念ながら、セル内の一部の文字の書式だけを検索することはできません。

どうしても一括でなさりたいのであれば、マクロを利用すれば可能ですが、質問者様がマクロを扱えない場合は、ハードルは高いと思います。
内容としては、
『対象セル内の文字列を一文字ずつチェックして、アンダーラインの書式だったら、別の書式に変更する』
というようなマクロを作成できれば、一括処理は可能になるでしょう。
    • good
    • 1
この回答へのお礼

ご回答ありがとうございます。

マクロが必要になってしまいますか…

仰る通り、私にはハードルが高そうです(泣)

お礼日時:2024/03/10 17:51

セルを範囲指定して、ctrl+Uで一気に出来ませんか?

    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

仰る通り、セル内全体であれば可能なのですが
すでに下線部を入れてある部分だけをまとめて
数百セル一気に変換したいのですが私の知識では
出来なくて困っております(泣)

お礼日時:2024/03/10 17:54

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A