セル内の文字色や太字をfont color=”#FF0000″のようにHTML化する

マクロ / VBA , , , ,

文字に色を付けていたり、太字にしたものを判別し、それをHTMLタグ化するVBAを作成しました。

例:赤字や緑字、太字の文章を
HTMLタグ化します

セル内に複数の文字色や太字部分が複数あっても問題なくHTML化します。

VBAコード

使い方

上記のコードを標準モジュールに貼り付けしてください。

HTML_Changeを走らせると、選択したセル(範囲OK)の文字色と太字をHTML化させます。

文字色はRGBで表現しますので何色でも問題ありません。黒(標準)の場合は特に何もしません。

コードの説明

  1. 一文字ずつ文字色をチェック
  2. 黒以外なら、その後何文字後まで同色か?
  3. その文字列を<font color=”#FF0000″>~~</font>で囲む
  4. 太字<B>も同様に一文字ずつチェック

流れはこんな感じです。

あと細かいコードの説明としては

Charactersプロパティ

これがセル内の一文字ずつ見る方法ですね。
Charactersプロパティは、セルに入力された文字列の一部を参照することが出来ます。セルに入力された文字列の何文字目(Start)から何文字(Length)分の文字を表せますが、セル内に数値や数式が入っているとエラーを返します。空白はOK。

構文 Object.Characters(Start, Length)

設定項目内容
ObjectRangeオブジェクト
Start参照したい文字列の先頭位置を指定します。省略した場合は1
Length参照したい文字数を指定します。省略した場合はStart以降の全文字列

参照するだけでなく、指定した部分に別の文字を設定する事もできます。
あいうえお →(3文字目を”ん”にしたい) あいえお のように。

A1に「あいうえお」が入っていた場合。

A1セルの3文字目から1文字だけを”ん”に変更します。

テキストだけでなく文字装飾も出来るのでこれを活用し、以下のようなコードにすれば文字の色を判別できます。

 

Colorプロパティ

また、ややこしいのがColorプロパティです。

Colorプロパティはオブジェクトに応じて適用する色を設定します。色は、RGB関数によって作成された値です。

で、RGB関数とは

色のRGB値を表す長整数型 (Long) の値を返します。
構文
RGB(red, green, blue)
red:RGBのR(赤)の割合を0~255の整数で指定します
green:RGBのG(緑)
の割合を0~255の整数で指定します
blue:RGBのB(青)
の割合を0~255の整数で指定します

Excelヘルプ

R×256 + G×256 + B×256×256 という計算の結果の数値で表しています。
紫でしたら「112+48×256+160×256×256」で「10498160」 となります。

ですのでHTMLの文字色にする場合、16進数の”#FF0000″のように置き換える必要があります。そこで以下のコードとしています。

コメントをどうぞ

メールアドレスが公開されることはありません。

  • ▼お小遣い稼ぎしませんか?▼ 日々の生活にhappyをプラスする|ハピタス

    クレジットカード・FX口座を作るだけで簡単に3万円GETです。一切支出はありません。

SUM ユーザー定義関数 日付 TODAY グラフ 目標 無料 XLSTART NA() ワイルドカード DATE 検索 VLOOKUP 条件付き書式 コピペ 作業効率UP COUNTIF 図形 バーコード 偏差値 セル選択 STDEV 印刷 フロー図 COLUMN 変換 SUMIF テンプレート 置換 HLOOKUP
  • 関西在住の30代サラリーマン。事務職で毎日Excelと戯れています。
    システム導入なんて資金が無い!Excelでなんとかやりたい零細中小の社長さん・事務員さんの力になればと思います。
    詳しいプロフィール


PAGE TOP ↑