概要
今回も「実装出来たら便利!」って問題
↓課題内容
中級者向けVBA課題 No.12
— いき As Variant (@aero_iki) 2023年8月1日
「動画用にシート上の名前定義セルを一覧表示、範囲確認、消去ができるユーザーフォームを構築しなさい」
#VBA実装術 #SoftexCelwear https://t.co/lRw75I8scO pic.twitter.com/WiLtngDtEd
セルの名前定義は
- VBAからセルを参照において、セルが移動しても処理に影響しない
- 定義範囲のセルに行・列が挿入、消去で範囲が変わっても定義範囲がついてきてくれる。
などのメリットがありますが、
- 定義位置が後でわかりづらくなる。
- Excel標準機能の「名前の管理」機能が使いづらい
などのデメリットがあります。
動画のユーザーフォームは、
- 表示しているシート内のセル名前定義を一覧(ListBox)で表示する
- 一覧において特定の名前定義をクリックするとそのセル範囲を選択する
- 一覧表示の頭には定義範囲が「S:シート内」「B:ブック内」で表示される
- 「消去」で名前定義を消去が可能
- 選択した名前定義で「Delete」キーで名前定義の消去が可能
のような操作ができるような設計になっています。
標準機能の「名前の管理」を実務で必要な機能に絞って、より使いやすく設計している感じです。
実装のポイント
下記項目をクリアすれば同じようなものが作れます。
詳細はググるなり、今時なら生成AIに聞けば答えが出てくるので詳細の解説は行いません。
- ユーザーフォームにおけるコマンドボタン、リストボックスの扱い方
- リストボックスでの一覧から選択時の処理
- シート内のセル名前定義一覧取得と、定義範囲の取得
- リストボックスでの選択時のキーボード操作(Deleteキー)での処理実行
コード
実装したユーザーフォームにおけるVBAのコードだけ抜粋します。
頂いた回答
今回も回答をいただきました。毎度ありがとうございます!
こんな感じでいいのかな🤔 https://t.co/VPJ4zOZmMS pic.twitter.com/xksR03JT1c
— アラクリ (@arakurikaesiki) 2023年8月1日
前回課題
次回課題
PR
ExcelVBAでのツール開発を承っております。(対応実績350件以上 2023.8月)
お気軽にご相談ください。