作りながら学ぶVBAプログラミング

VBA セル色と枠線制御 Cell Line Bas サブルーチン ライブラリ

Cell Line Bas Version 1.81128 サブルーチン

Cell Line Bas Version 1.81128 サブルーチンには、以下のモジュールが含まれています。

  • CellLine.Clear(sr, sc, er, ec)
    指定範囲のセルの背景色/パターンをクリア

  • CellLine.FontColor(sr, sc, er, ec, valu)
    セルのフォント色指定

  • CellLine.BackGround(sr, sc, er, ec, valu)
    セルの背景色指定

  • CellLine.Get_ColorHEX(ssht, sr, sc)
    セルの文字色を取得

  • CellLine.Get_Color(ssht, sr, sc)
    セルの文字色を取得

  • CellLine.Get_BackGroundHEX(ssht, sr, sc)
    セルの背景色を取得
  • CellLine.Get_BackGround(ssht, sr, sc)
    セルの背景色を取得

  • CellLine.FontStyle(sr, sc, er, ec, command)
    * 指定範囲のセルをcommand で指定した属性で設定する

  • CellLine.Para2(iBuff, Delim, smbl, valu)
    * 指定区切り文字で文字列を2分解する

  • CellLine.Color2RGB(iBuff, RR, GG, BB)
    * Hex色コードを RGBに分解する

  • CellLine.Draw(sr, sc, er, ec, dflg)
    指定範囲内のセルを 細線で囲む

  • CellLine.DrawDetails(sr, sc, er, ec, dflg, lweight)
    * 指定範囲の外枠線の設定

  • CellLine.DrawFram(sr, sc, er, ec, dflg, lweight)
    * 指定範囲内のセルの枠線の設定

* は、サブルーチン内部で使用するために書かれたサブルーチンです。使い方などが意味不明でなければ使ってください。

指定範囲のセルの背景色/パターンをクリア

Sub Clear(sr, sc, er, ec)

  • パラメータ
    sr:範囲開始行
    sc:範囲開始桁
    er:範囲終了行
    ec:範囲終了桁

  • 例、
    CellLine.Clear(sr, sc, er, ec)


セルのフォント色指定

Sub FontColor(sr, sc, er, ec, valu)

  • パラメータ
    sr:範囲開始行
    sc:範囲開始桁
    er:範囲終了行
    ec:範囲終了桁
    valu:16進色コード

  • 例、
    Call CellLine.FontColor(sr,sc,er,ec,”#ff0000″)



セルの背景色指定

Sub BackGround(sr, sc, er, ec, valu)

  • パラメータ
    sr:範囲開始行
    sc:範囲開始桁
    er:範囲終了行
    ec:範囲終了桁
    valu:16進色コード

  • 例、
    Call CellLine.BackGround(sr,sc,er,ec,”#ffffcc”)



セルの文字色を16進コードで取得

Function Get_ColorHEX(ssht, sr, sc)

  • パラメータ
    ssht:シートオブジェクト
    sr:セル行
    sc:セル桁

  • 戻り
    16進色コード文字列

  • 例、
    Dim ssht, HEX_STR
    Set ssht = ActiveSheet
    sr = 5
    sc = 2
    HEX_STR = CellLine.Get_ColorHEX(ssht, sr, sc)



セルの文字色を取得

Function Get_Color(ssht, sr, sc)

  • パラメータ
    ssht:シートオブジェクト
    sr:セル行
    sc:セル桁

  • 戻り
    色コード数値

  • 例、
    Dim ssht, COLOR_VAL
    Set ssht = ActiveSheet
    sr = 5
    sc = 2
    COLOR_VAL = CellLine.Get_Color(ssht, sr, sc)



セルの背景色を16進コードで取得

Function Get_BackGroundHEX(ssht, sr, sc)

  • パラメータ
    ssht:シートオブジェクト
    sr:セル行
    sc:セル桁

  • 戻り
    16進色コード文字列

  • 例、
    Dim ssht, HEX_STR
    Set ssht = ActiveSheet
    sr = 5
    sc = 2
    HEX_STR = CellLine.Get_BackGroundHEX(ssht, sr, sc)



セルの背景色を取得

Function Get_BackGround(ssht, sr, sc)

  • パラメータ
    ssht:シートオブジェクト
    sr:セル行
    sc:セル桁

  • 戻り
    色コード数値

  • 例、
    Dim ssht, COLOR_VAL
    Set ssht = ActiveSheet
    sr = 5
    sc = 2
    COLOR_VAL = CellLine.Get_BackGround(ssht, sr, sc)



*セルの文字色/背景色を取得

Sub FontStyle(sr, sc, er, ec, command)

  • 必要サブルーチン
    str_Split.bas
    strSpCut.bas

  • パラメータ
    sr:範囲開始行
    sc:範囲開始桁
    er:範囲終了行
    ec:範囲終了桁
    command:設定コマンド
     書式:属性:値;・・・
     属性:
      color:文字色
      background:背景色

  • 戻り
    色コード数値

  • 例、
    Dim ssht, COLOR_VAL
    Set ssht = ActiveSheet
    sr = 5
    sc = 2
    er = 8
    ec = 7
    call CellLine.FontStyle(sr,sc,er,ec,”color:”+Format(rgb(0,0,255),”0″)+”;”+”background:#ffff00;”)



*指定区切り文字で文字列を2分解する

Function Para2(iBuff, Delim, smbl, valu)

  • パラメータ
    iBuff:対象文字列
    Delim:区切り文字
    smbl:戻り:分解文字列
    valu:戻り:分解文字列

  • 戻り
    最初の文字列

  • 例、
    Dim Simbol,smbl,value
    buff = “#NAME#=123
    Simbol = CellLine.Para2(buff,”=”,smbl,value)



*16進色コードを RGBに分解

Function Color2RGB(iBuff, RR, GG, BB)

  • パラメータ
    iBuff:対象文字列
    RR:戻り:赤要素値
    GG:戻り:緑要素値
    BB:戻り:青要素値

  • 戻り
    色コード値

  • 例、
    buff = “#F01230”
    Color_val = CellLine.Color2RGB(buff,RR_val,GG_val,BB_val)



セル枠描画

Sub Draw(sr, sc, er, ec, dflg)

  • パラメータ
    sr:範囲開始行
    sc:範囲開始桁
    er:範囲終了行
    ec:範囲終了桁
    dflg:線種
     xlContinuous 1 実線
     xlDashDot 4 一点鎖線
     xlDashDotDo 5 ニ点鎖線
     xlSlantDashDot 13 斜破線
     xlDash -4115 破線
     xlDot -4118 点線
     xlDouble -4119 2 本線
     xlLineStyleNone -4142 線なし

  • 例、
    buff = “#F01230”
    Color_val = CellLine.Color2RGB(buff,RR_val,GG_val,BB_val)



セル枠描画

Sub DrawDetails(sr, sc, er, ec, dflg, lweight)

  • パラメータ
    sr:範囲開始行
    sc:範囲開始桁
    er:範囲終了行
    ec:範囲終了桁
    dflg:線種
     xlContinuous 1 実線
     xlDashDot 4 一点鎖線
     xlDashDotDo 5 ニ点鎖線
     xlSlantDashDot 13 斜破線
     xlDash -4115 破線
     xlDot -4118 点線
     xlDouble -4119 2 本線
     xlLineStyleNone -4142 線なし

    lweight:線サイズ
     xlMedium -4138 普通
     xlHairline 1 細線 (最も細い罫線)
     xlThin 2 極細
     xlThick 4 太線 (最も太い罫線)

  • 例、
    Call CellLine.DrawDetails(sr, sc, er, ec, dflg, lweight)



指定範囲の外枠描画

Sub DrawFram(sr, sc, er, ec, dflg, lweight)

  • パラメータ
    sr:範囲開始行
    sc:範囲開始桁
    er:範囲終了行
    ec:範囲終了桁
    dflg:線種
     xlContinuous 1 実線
     xlDashDot 4 一点鎖線
     xlDashDotDo 5 ニ点鎖線
     xlSlantDashDot 13 斜破線
     xlDash -4115 破線
     xlDot -4118 点線
     xlDouble -4119 2 本線
     xlLineStyleNone -4142 線なし

    lweight:線サイズ
     xlMedium -4138 普通
     xlHairline 1 細線 (最も細い罫線)
     xlThin 2 極細
     xlThick 4 太線 (最も太い罫線)

  • 例、
    Call CellLine.DrawDetails(sr, sc, er, ec, dflg, lweight)


VBA セル色と枠線制御 CellLine.Bas ダウンロード


CellLine.zip (152 ダウンロード )
ご自由にダウンロードしてお使いください。
ただし、著作権は放棄しておりません。オープンソースです。二次配布は改変後も含めて禁止いたします。
  • このエントリーをはてなブックマークに追加

関連記事

ゆずまる・ゆぅべぇ

システムエンジニア/プログラマ歴数十年のゆずまるです。

バナーにもあるように変体的な犬マニアで生まれてからこのかた犬のいない日は経験していません。
中でもコッカースパニエルとラブラドールが死ぬほど好き!

そんなゆずまるは、20数種類の様々な言語を使用してシステム開発をおこなってきました。

そこで使ってきた各言語の自作ライブラリ中のVBAのライブラリを公開しています。

※姉妹サイトに C,PHP などのサイトもネット上に浮遊させております。そちらでもお役にたてましたら無上の喜びw

あなたの一助になれば幸いです。