
エクセル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も見ています
-
あなたの「必」の書き順を教えてください
ふだん、どういう書き順で「必」を書いていますか? みなさんの色んな書き順を知りたいです。 画像のA~Eを使って教えてください。
-
歳とったな〜〜と思ったことは?
歳とったな〜〜〜、老いたな〜〜と思った具体的な瞬間はありますか?
-
今の日本に期待することはなんですか?
目まぐるしく、日本も世界も状況が変わる中、あなたが今の日本に期待することはなんですか?
-
あなたなりのストレス発散方法を教えてください!
自分なりのストレス発散方法はありますか?
-
思い出すきっかけは 音楽?におい?景色?
記憶をふと思い出すきっかけは 音楽、におい、景色 どれですか?
-
セルの一部分だけを太字にする方法
Excel(エクセル)
-
VBAでセル内の指定した文字を太字にしたい
Excel(エクセル)
-
VBA Cのセルが空白でなかったら、Aのセルに順番に数値を入力
Visual Basic(VBA)
-
-
4
【VBA】特定の文字で改行(次の行)に行きたい。
Visual Basic(VBA)
-
5
WorkBooksをオープンさせずにシートにコピーしたい【EXCEL VBA】
Excel(エクセル)
-
6
EXCEL VBA で複数の特定文字に色をつけたい
その他(Microsoft Office)
-
7
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・「これはヤバかったな」という遅刻エピソード
- ・初めて自分の家と他人の家が違う、と意識した時
- ・いちばん失敗した人決定戦
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで指定したセルのどれ...
-
貼り付けで複数セルに貼り付けたい
-
【Excel】 セルの色での判断は...
-
EXCEL VBA セルに既に入...
-
セルをクリック⇒そのセルに入力...
-
excelの特定のセルの隣のセル指...
-
(Excel)数字記入セルの数値の後...
-
エクセルの書式設定の表示形式...
-
Excelでのコメント表示位置
-
枠に収まらない文字を非表示に...
-
エクセルのセルの枠を超えて文...
-
【エクセル】IF関数 Aまたは...
-
エクセル オートフィルタで絞...
-
エクセルの一つのセルに複数の...
-
Excel 例A(1+9) のように番地の...
-
対象セル内(複数)が埋まった...
-
数式を残したまま、別のセルに...
-
Excelで数式内の文字色を一部だ...
-
Excelで住所を2つ(町名迄と番...
-
文字列として"(ダブルコーテー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
貼り付けで複数セルに貼り付けたい
-
エクセルで指定したセルのどれ...
-
excelの特定のセルの隣のセル指...
-
(Excel)数字記入セルの数値の後...
-
セルをクリック⇒そのセルに入力...
-
枠に収まらない文字を非表示に...
-
【エクセル】IF関数 Aまたは...
-
【Excel】 セルの色での判断は...
-
Excelでのコメント表示位置
-
エクセルの一つのセルに複数の...
-
エクセルのセルの枠を超えて文...
-
Excelで数式内の文字色を一部だ...
-
EXCEL VBA セルに既に入...
-
エクセルの書式設定の表示形式...
-
Excel 例A(1+9) のように番地の...
-
数式を残したまま、別のセルに...
-
エクセル オートフィルタで絞...
-
Excelで、「特定のセル」に入力...
-
ハイパーリンクの参照セルのズ...
-
対象セル内(複数)が埋まった...
おすすめ情報