8x8などの小さなドット絵の作成には表計算(Libreoffice)を使っていて,セルの色でドットを描いてそのRGB値を読み取っていました。

LEDパネルのデザインに中間色を使おうと表計算ソフトのセルの色のRGB要素を取り出してみた

最近使い始めたPCにはExcel2021が入っているので,同じようにできるか試してみました。


Libreofficeのcalcと同じようにVBAで書いた関数でなんとか動きましたV(^^)。
忘れないようにメモしておきます。


B3からF3の各セルの色をORG行の関数で読み取ってRGB値に分解した結果です。青色でExcelのユーザー設定値を確かめています




VBAで作った get_RGB()関数で色を読み取り,下位ビットからRGB各8bitのデータを分解しています。






例によって,マクロ系を書く手続きは分かりにくい所にあります(^^;;;;;;
バージョンが変われば場所もあっちこっち,言葉もコロコロと変わるのが常ですが,,現状をメモです。


[ファイル]タグの一番下の「その他」の「オプション」を開いて,「開発」をリボンに表示する設定にしておくと便利です。




上記に設定しておくと[開発]タグのマクロで作成か編集ができます。





VBAが開くので,関数を書き込みます。
以前にLibreofficeに書いたものと同じで3行だけです(^^)。





マクロ系は一生懸命書いてもバージョンが変わると何の遠慮もなく動かなくなる事がよくありますね。私は長居は無用と思っていて,できるだけ短くしています(^^;;;;;


でも動いてよかったです。これでドット絵のビットマップを書こうかと思っていますV(^^)。

なお,以下は要注意です!!

セルの色は「再計算」の対象外なので,色を変えても感知してくれません。
色を付けたセルを選択して「数式と値のクリア」などを行うとRGB値は変化します。