人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Excel VBAについて質問します。

セル内の文章が部分的に太字になっており、そういったセルが大量にあります。
この状態で、セル内の太字部分のみを赤い文字に変更したいです。

置換処理が、どのような記述になるかご教示ください。

●質問者: mutamutamuta
●カテゴリ:コンピュータ
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● cx20
●200ポイント ベストアンサー

ベタな方法ですが、セルのフォントスタイルを1文字ずつ判断して、太字なら赤字にするという処理で、置換が可能です。


以下は1セルのみ置換するサンプルです。

Sub ChangeFontStyle()
 Dim myRange
 Set myRange = ActiveSheet.Range("A1")
 Dim i
  ' セルの文字数だけループする
 For i = 1 To Len(myRange.Value)
  ' 指定した位置の文字が太字ならば
 If myRange.Characters(i, 1).Font.Bold Then
  ' フォントの色を赤色に変更する
 myRange.Characters(i, 1).Font.ColorIndex = 3 ' 赤
 End If
 Next
End Sub

■ Excel(エクセル)VBA入門:セルのフォント・塗りつぶし・罫線を設定する

http://www.eurus.dti.ne.jp/yoneyama/Excel/vba/vba_font.html


mutamutamutaさんのコメント
ありがとうございます、試してみますね。とても助かりました。 ちなみに・・ もうひとつ気になった事が^^; ご回答のサンプル部分のようなエディタ画面調のHTML表示は、 ご使用のエディタの出力オプション機能なのでしょうか? わかりやすいです。

cx20さんのコメント
サンプルコードの色付けは「はてな記法」の「シンタックス・ハイライト」という機能を使っています。使い方は以下をご覧ください。 >> ■ 入力したプログラムコードを色付けするスーパーpre記法 シンタックス・ハイライトの実装について - はてなダイアリー日記 http://d.hatena.ne.jp/hatenadiary/20061215/1166155734 <<

mutamutamutaさんのコメント
なるほど、はてなの機能なんですね。 先ほどのサンプルコード、試したところ完璧です。ありがとうございました。
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ