VBAサンプル集
エクセルのアイコン取得(FaceID)

ExcelマクロVBAの実用サンプル、エクセルVBA集と解説
公開日:2013年5月以前 最終更新日:2013-05-14

エクセルのアイコン取得(FaceID)


エクセル内のアイコンを取得します。


右クリックメニューの変更」のFaceIdとして使用します。
Sub sample()
  Const startNo As Integer = 1 '開始番号を指定
  Const stopNo As Integer = 50 '終了番号を指定
  Dim cmdBar As CommandBar
  Dim cmdBarCtl As CommandBarControl
  Dim i As Integer
  
  On Error Resume Next
  Set cmdBar = Application.CommandBars("FaceId")
  If cmdBar Is Nothing Then
    Set cmdBar = Application.CommandBars.Add(Name:="FaceId", Temporary:=True)
    For i = startNo To stopNo
      Set cmdBarCtl = cmdBar.Controls.Add(Type:=msoControlButton)
      With cmdBarCtl
        .FaceID = i
        .TooltipText = i
      End With
    Next
    cmdBar.Visible = True
  Else
    For i = startNo To stopNo
      With cmdBar.Controls(i - startNo + 1)
        .FaceID = i
        .TooltipText = i
      End With
    Next
  End If
  
  Set cmdBarCtl = Nothing
  Set cmdBar = Nothing
End Sub


2003までなら、ツールバーが追加されます。


2007以降では、リボンのアドインの中に追加されます。

Const startNo As Integer = 1 '開始番号を指定
Const stopNo As Integer = 50 '終了番号を指定

この数値を変更して実行して下さい。

50以上の範囲を指定すると、画面に収まらないので、50ずつ実行してみて下さい。

途中、割り当てのないIDもかなりありますが、4000以上のIDにも入っています。

目的のアイコンがあるなら、ちょっと面倒ですが探してみて下さい。



同じテーマ「マクロVBAサンプル集」の記事

重複の無いユニークなデータ作成

簡単な例で シート「元データ」A列に、1行目に見出し、2行目以降にデータが入っている シート「ユニーク」このA列に、シート「元データ」のA列をユニーク(一意)にして取り出します。まずは、エクセルらしく、ワークシート関数とフィルターを使って 非常にエクセルらしい、素直な処理です。
WEBデータの取得方法
・サンプルページ ・QueryTables ・InternetExplorer ・MSHTML ・MSXML2 ・WEBデータの取得方法の最後に
右クリックメニューの変更(CommandBars)
・シートモジュールに以下を追加 ・標準モジュールに以下を追加 ・コマンドバー.Controls.Add() ・コントロールのメンバーについて ・CommandBarsの種類
エクセルのアイコン取得(FaceID)
素数を求めるマクロ
素数とは、1と自分自身以外に正の約数を持たない、1でない自然数のことです、この素数を求めて、シートに出力するマクロになります。特に何かに使えると言う事もないので、PCの計算能力って、どの程度なのかを実感してみるくらいの事でしょうか。注意 このマクロはオーバーフローするまで停止しません。
入力規則のリスト入力の妥当性判定
・入力規則に反するデータかの判定Function ・入力規則のリスト入力の妥当性を判定Function ・最後に
配色を使用したカラー設定を固定カラーに変更
Excel2007以降なら配色を選択して作成した場合、作成したシートを他のブックに移すと色が変わってしまいます、そこで、配色ではなくRGB値で色を再設定することで、元々の色をそのままにして、他のブックに移すことが出来るようにします。以下は、この目的で色を再設定するマクロVBAになります。
指定セルに名前定義されているか判定する
・指定セル範囲が何らかの名前定義に含まれているか ・指定セル範囲と同一範囲の名前定義があるか ・すでに設定されている名前定義を削除してから再設定 ・マクロVBAでの名前定義について
Excel2003(xls)を2007以降(xlsx,xlsm)に変換する(HasVBProject)
Excel2003形式(xls)のファイルを、一括でExcel2007以降形式(xlsx,xlsm)に変換するマクロVBAサンプルコードです。サンプルコードでは、サブフォルダ「Excelファイル」にあるxlsを、マクロ無しならxlsx、マクロ有りならxlsmにして保存しています。
ハイパーリンクからファイルのフルパスを取得する
ハイパーリンクのリンク先ファイル情報を取得しようとすると、なかなか難しいことになります、ハイパーリンクからパスを取得すると相対パスとなり、簡単にはファイル情報を取得出来ません。以下のサンプルでは、ハイパーリンクの設定されているセルの右隣のセルに更新日時を出力しています。
ボタンに表示されているテキストを取得(Application.Caller)
メニューのシートを作成して、ボタンを配置、そしてボタンにより指定シートに移動する。よくありますが、ボタン一つずつに別々(移動先のシート毎に)のマクロを作成するのは面倒です、そこで、一つのマクロで済ませる方法の紹介です。Application.Caller Application.Callerは、VBAを呼び出した方…


新着記事NEW ・・・新着記事一覧を見る

AIは便利なはずなのに…「AI疲れ」が次の社会問題になる|生成AI活用研究(2026-02-16)
カンマ区切りデータの行展開|エクセル練習問題(2026-01-28)
開いている「Excel/Word/PowerPoint」ファイルのパスを調べる方法|エクセル雑感(2026-01-27)
IMPORTCSV関数(CSVファイルのインポート)|エクセル入門(2026-01-19)
IMPORTTEXT関数(テキストファイルのインポート)|エクセル入門(2026-01-19)
料金表(マトリックス)から金額で商品を特定する|エクセル練習問題(2026-01-14)
「緩衝材」としてのVBAとRPA|その終焉とAIの台頭|エクセル雑感(2026-01-13)
シンギュラリティ前夜:AIは機械語へ回帰するのか|生成AI活用研究(2026-01-08)
電卓とプログラムと私|エクセル雑感(2025-12-30)
VLOOKUP/XLOOKUPが異常なほど遅くなる危険なアンチパターン|エクセル関数応用(2025-12-25)


アクセスランキング ・・・ ランキング一覧を見る

1.最終行の取得(End,Rows.Count)|VBA入門
2.日本の祝日一覧|Excelリファレンス
3.変数宣言のDimとデータ型|VBA入門
4.FILTER関数(範囲をフィルター処理)|エクセル入門
5.RangeとCellsの使い方|VBA入門
6.繰り返し処理(For Next)|VBA入門
7.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
8.マクロとは?VBAとは?VBAでできること|VBA入門
9.セルのクリア(Clear,ClearContents)|VBA入門
10.メッセージボックス(MsgBox関数)|VBA入門




このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。


記述には細心の注意をしたつもりですが、間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。
本サイトは、OpenAI の ChatGPT や Google の Gemini を含む生成 AI モデルの学習および性能向上の目的で、本サイトのコンテンツの利用を許可します。
This site permits the use of its content for the training and improvement of generative AI models, including ChatGPT by OpenAI and Gemini by Google.



このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
本文下部へ