エクセル2003です。
A2からA100の範囲のすべてのセルに文字列(文章)が入っています。
セルにより、約30~1200文字程度とばらばらです。
この範囲の各セルの文字列の中に、「愛、恋、幸福、love」という文字列があれば、その語句だけを太字にしたいのです。
(なければ、なにもしません。)
英字(love)は半角全角大文字小文字を問いません。
一応、ここまでは書いたのですが、検索するところでお手上げになってしまいました。
なにとぞ、お助けください。
Sub Test()
Dim myW
Dim i As Long
myW = Split("愛,恋,幸福,love", ",")
For i = 2 To Cells(Rows.Count, "A").End(xlUp).Row
For n = LBound(myW) To UBound(myW)
MsgBox Cells(i, "A").Value & "に" & myW(n) & "があれば太字に" 'この肝心な部分がわかりません。
Next n
Next i
End Sub
No.2ベストアンサー
- 回答日時:
一例です。
pos = InStr(1, Cells(i, "A"), myW(n), vbTextCompare)
Do While pos > 0
Cells(i, "A").Characters(pos, Len(myW(n))).Font.Bold = True
pos = InStr(pos + 1, Cells(i, "A"), myW(n), vbTextCompare)
Loop
ありがとうございます。
検索開始位置を指定し、こうやってLOOPさせれば複数の同一文字列の出現に対処できるんですね!
とっても勉強になりました。
以下のようにやって目的が達成できました。
Sub Test03()
Dim myW
Dim i As Long, n As Long, pos As Long
myW = Split("愛,恋,幸福,love", ",")
For i = 2 To Cells(Rows.Count, "A").End(xlUp).Row
For n = LBound(myW) To UBound(myW)
pos = InStr(1, Cells(i, "A"), myW(n), vbTextCompare)
Do While pos > 0
With Cells(i, "A").Characters(pos, Len(myW(n))).Font
.Bold = True
.ColorIndex = 3
End With
pos = InStr(pos + 1, Cells(i, "A"), myW(n), vbTextCompare)
Loop
Next n
Next i
End Sub
No.3
- 回答日時:
#1です。
複数出現については質問文に無かったのでうっかりしていました。失礼しました。
私もmu2011さまに感謝。
> 複数出現については質問文に無かったのでうっかりしていました。
いえいえ、わたしがちゃんと質問に書かなかったのが悪いんです。
今回は有難うございました。
No.1
- 回答日時:
そこまで自力で書ける人になら全文載せてもいいかな(笑)
Sub Test()
Dim myW
Dim i As Long
Dim c As Range
Dim inS As Long
myW = Array("愛", "恋", "幸福", "love")
For Each c In Range("A2", Cells(Rows.Count, "A").End(xlUp)).Cells
For Each s In myW
With c
inS = InStr(1, .Value, s, vbTextCompare)
If inS > 0 Then
.Characters(inS, Len(s)).Font.Bold = True
End If
End With
Next
Next
End Sub
こういう感じです。
質問者さんの元のコードをなるべく残しました。
InStr関数とCharactersプロパティがポイントです。
> InStr関数とCharactersプロパティがポイントです。
有難うございます。
おかげさまで検索&太字設定ができました。
また、vbTextCompareで全半角大小問わず検索できることも勉強になりました。
ただ、同一セル内に同じ語句が複数出てきた場合、最初のものしか対象になりませんでした。
(わたしの質問が悪かったですね、すみません、)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 数字が「0」の列を削除するため、下記のコードを実行しましたが、コンパイルエラーSubまたはFunct 3 2022/12/04 00:00
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- Excel(エクセル) 指定文字列が該当するA列をアクティブセルにするには 3 2022/08/17 13:18
- Visual Basic(VBA) 実行時エラー´5854´ 文字列型パラメーターが長すぎます。 3 2023/06/08 21:17
- Visual Basic(VBA) VBA処理追加 こちらでご教示頂いたのですが回答完了させてしまいましたのでこちらからまた質問させてく 2 2022/10/27 09:57
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 6 2022/06/08 12:55
- Visual Basic(VBA) 【VBA】特定のワードが入っている行全体を塗りつぶしたい 4 2022/04/20 15:22
- Visual Basic(VBA) Excel VBA キーワードから列を取得して、さらに空欄行を非表示にする 3 2022/10/21 22:49
- Visual Basic(VBA) 前回ご教授いただいたコードに覚えたてのループ処理で品名りんごAから順に20回for nextでループ 7 2023/01/13 22:01
- Visual Basic(VBA) 改行ごとに行を追加し、数量を分割 4 2023/07/11 16:39
このQ&Aを見た人はこんなQ&Aも見ています
-
カンパ〜イ!←最初の1杯目、なに頼む?
飲み会で最初に頼む1杯、自由に頼むとしたら何を頼みますか? 最初はビールという縛りは無しにして、好きなものを飲むとしたら何を飲みたいですか。
-
大人になっても苦手な食べ物、ありますか?
大人になっても、我慢してもどうしても食べれないほど苦手なものってありますよね。 あなたにとっての今でもどうしても苦手なものはなんですか?
-
遅刻の「言い訳」選手権
よく遅刻してしまうんです…… 「電車が遅延してしまい遅れました」 「歯医者さんが長引いて、、、」 「病院が混んでいて」 などなどみなさんがこれまで使ってきた遅刻の言い訳がたくさんあるのではないでしょうか?
-
プリン+醤油=ウニみたいな組み合わせメニューを教えて!
プリンと醤油を一緒に食べると「ウニ」の味がする! というような意外な組み合わせから、新しい味になる食べ物って色々ありますよね。 あなたがこれまでに試した「組み合わせメニュー」を教えてください。
-
うちのカレーにはこれが入ってる!って食材ありますか?
カレーって同じルーから作っても、家庭によって入っているものや味が微妙に違っていて面白いですよね! 「我が家のカレーにはこれが入ってるよ!」 という食材や調味料はありますか?
-
セルの一部分だけを太字にする方法
Excel(エクセル)
-
VBAでセル内の指定した文字を太字にしたい
Excel(エクセル)
-
EXCEL/VBA 変数の値をクリップボードにコピーする方法
Visual Basic(VBA)
-
-
4
excel関数式の一部を太字にする
その他(Microsoft Office)
-
5
Excel2007で、太字にした行のみをソートすることはできるのでしょ
Excel(エクセル)
-
6
VBA Cのセルが空白でなかったら、Aのセルに順番に数値を入力
Visual Basic(VBA)
-
7
【VBA】特定の文字で改行(次の行)に行きたい。
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
- ・お風呂の温度、何℃にしてますか?
- ・とっておきの「まかない飯」を教えて下さい!
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・いけず言葉しりとり
- ・土曜の昼、学校帰りの昼メシの思い出
- ・忘れられない激○○料理
- ・あなたにとってのゴールデンタイムはいつですか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【エクセル】IF関数 Aまたは...
-
セルをクリック⇒そのセルに入力...
-
枠に収まらない文字を非表示に...
-
Excelで数式内の文字色を一部だ...
-
エクセルで指定したセルのどれ...
-
エクセル オートフィルタで絞...
-
貼り付けで複数セルに貼り付けたい
-
Excelでのコメント表示位置
-
エクセルの一つのセルに複数の...
-
(Excel)数字記入セルの数値の後...
-
対象セル内(複数)が埋まった...
-
excelの特定のセルの隣のセル指...
-
エクセル “13ヶ月”を“1年1ヶ月...
-
ハイパーリンクの参照セルのズ...
-
【Excel】 セルの色での判断は...
-
Excel 例A(1+9) のように番地の...
-
エクセルで縦に1112223...
-
文字列として"(ダブルコーテー...
-
エクセルのセルの枠を超えて文...
-
エクセルの書式設定の表示形式...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
貼り付けで複数セルに貼り付けたい
-
Excelで数式内の文字色を一部だ...
-
【エクセル】IF関数 Aまたは...
-
エクセルで指定したセルのどれ...
-
(Excel)数字記入セルの数値の後...
-
エクセルの一つのセルに複数の...
-
セルをクリック⇒そのセルに入力...
-
Excel 例A(1+9) のように番地の...
-
対象セル内(複数)が埋まった...
-
枠に収まらない文字を非表示に...
-
Excelでのコメント表示位置
-
【Excel】 セルの色での判断は...
-
エクセルの書式設定の表示形式...
-
エクセル オートフィルタで絞...
-
エクセル 足して割る
-
エクセルのセルの枠を超えて文...
-
エクセル “13ヶ月”を“1年1ヶ月...
-
EXCEL VBA セルに既に入...
-
Excel2003 の『コメント』の編...
-
数式を残したまま、別のセルに...
おすすめ情報