Office Hack

Excelのチェックボックスがずれる時の対処法

  • by yoshihiro
  • Release
  • Update

Excelで複数のチェックボックスの位置を揃えたいとき、マウスでドラッグしながら操作するとずれてしまうことが多いはずです。そのような時、配置されたチェックボックスをきれいに簡単に揃える方法をご紹介します。

チェックボックスの位置を整列して見やすい資料を作りましょう。

チェックボックスの作成

まずはチェックボックスを準備します。作成方法は以下を参考にしてください。

チェックボックスの選択

複数のチェックボックスの配置

図は複数のチェックボックスを作成し、マウスで配置した状態です。位置がきれいに揃っていません。

これらのチェックボックスを左揃えで整列していきます。

オブジェクトの選択

【ホーム】タブ、【検索と選択】、【オブジェクトの選択】の順に選択します。

チェックボックスの選択

Shiftを押しながらチェックボックスの周囲をドラッグします。

チェックボックスの選択

整列したいすべてのチェックボックスが選択された状態になりました。

チェックボックスを左揃えで整列する

左揃えで整列

【ページレイアウト】タブ、【配置】、【左揃え】の順に選択します。

整列したチェックボックス

チェックボックスがきれいに左揃えで整列されました。

チェックボックスを自動的に中央に配置する

上記では左揃えの整列方法をご紹介しましたが、中央に配置した場合もあると思います。ただ中央に整列する方法は通常のExcelの操作では手動で微調整するしかありません。

マクロを使用すればシートにあるチェックボックスを自動的に中央配置することができます。ソースコードもありますのでコピペして使用すればマクロが苦手の方もお使いいただけます。

VBEの起動

【開発】タブ、【Visual Basic】の順に選択します。新しいウィンドウでVBE(Visual Basic Editor)が起動します。

標準モジュールの挿入

左ナビゲーションの「VBAProject」から【標準モジュール】を右クリックし、右クリックメニューから【挿入】、【標準モジュール】を選択します。

ソースコードの記述

下記のソースコードをコピペして貼り付けます。

アクティブなシートにあるチェックボックスの幅や高さを取得し、中央に配置するように計算しています。


Sub チェックボックス自動中央配置()
    Dim position As Range
    Dim checkBox As checkBox
    
    For Each checkBox In ActiveSheet.CheckBoxes
        Set position = checkBox.TopLeftCell
        checkBox.Width = position.Width * 2 / 3
        checkBox.Height = position.Height
        checkBox.Left = position.Left + (position.Width - checkBox.Width) / 2
        checkBox.Top = position.Top + (position.Height - checkBox.Height) / 2
    Next
    
End Sub

VBAプログラムを保存する

コードを入力したらCtrl+Sを押してブックを保存します。

「名前を付けて保存」ダイアログボックスが表示されるので「ファイルの種類」から【Excel マクロ有効ブック】を選択して保存します。

マクロの実行

【開発】タブ、【マクロ】の順に選択します。

マクロの実行

「マクロダイアログボックス」が表示されるので【チェックボックス自動中央配置】を選択して【実行】ボタンを押します。

チェックボックスの自動中央配置

チェックボックスが中央にきれいに整列されました。

その他、様々なチェックボックスの編集方法

よろしければ参考にならなかった点をお聞かせください