VBA 204号室:Excelシート内QRコードを削除

スポンサーリンク
VBAの部屋

指定したシート内のActiveXコントロールをShapeで見つけてオブジェクト名に”QRコード”が含まれているものを削除する

Kappo
Kappo

Excelシート上に複数のQRコードを配置していて削除する場合.....
 ●一つ一つのQRコード(オブジェクト)を選択して削除する
ってなり、結構手間かかりませんか?!
この部屋の方法は予め配置したQRコードにわかりやすい名前をつけておいて、この方法を使うと簡単に複数のQRコードを削除することが可能でとっても便利ですよ!!
また、一番したの方にコメント欄があるからよかったら質問・感想などメッセージ入れてください

VBAプログラムで「バーコード」が使えるようにライブラリを参照設定で追加する
※ライブラリの追加は「ExcelシートにQRを追加」を参照してください

●●サブルーチンプログラム●●
標準モジュール(QrCtrl)にブログラムを記述
※標準モジュールの追加は「Excelシート内で指定した描画オブジェクトの名前を取得するプログラム」を参照してください

サブルーチンの内容
QrDelete(shtName As String)
引数 : shtName=シート名
戻り:True

「VBA:ExcelシートにQRを追加」で名前をつけて作成したQRコードが対象
「VBA:描画オブジェクトの取得」の描画オブジェクトタイプの一覧表を参照

▼プログラム▼

Public Function QrDelete(shtName As String)

    Dim Ret As Boolean

    Ret = True

    '----------------------------------------

    Dim shp As Shape

    Thisworkbook.Worksheets(shtName).Active    ’指定シートをアクティブにします

    '----------------------------------------
    'msoOLEControlObject=QRのOLEコントロールオブジェクト

    '----------------------------------------
    '指定シート内の描画オブジェクトの全てを検索
    For Each shp In Thisworkbook.Worksheets(shtName).Shapes

        '----------------------------------------
        '描画オブジェクトのOLEコントロールを見つける

        If shp.Type = msoOLEContorlObject Then
            Debug.Print(shp.Name)

            If InStr(shp.Name, "QRコード")<>0 Then    'オブジェクト名に"QRコード"が含まれている

                Thisworkbook.Worksheets(shtName).Shapes.Range(Array(shp.Name)).Select    'オブジェクトを選択する
                Selection.Delete    '選択したオブジェクトを削除する

            Endif

        Endif

    Next shp

    '----------------------------------------

    QrDelete = Ret

    '----------------------------------------

End Function

サブルーチンプログラムが出来たので呼びだすコマンドボタンを配置してプログラムを記述する

コマンドボタンがクリックされた時に実行されるプログラム
「CommandButton6」
※ボタンの配置方法は 「VBA:描画オブジェクトの名前取得」を参照してください

シート(Sheet1)のセルE13~G13に配置したQRを削除する

▼プログラム▼

Dim ret As Boolean

ret = QrDelete("Sheet1")

セルE13~G13のQRが削除された

Amazon | 本, ファッション, 家電から食品まで | アマゾン
Amazon.co.jp 公式サイト。アマゾンで本, 日用品, ファッション, 食品, ベビー用品, カー用品ほか一億種の商品をいつでもお安く。通常配送無料(一部を除く)

  

VBAの部屋
スポンサーリンク
シェアする
Kappoをフォローする

コメント

タイトルとURLをコピーしました