【エクセルマクロ】選択範囲のチェックボックス整列 2選

エクセルマクロ_チェックボックスを整列する_アイキャッチ ExcelVBA

エクセルマクロで、選択範囲のチェックボックスを自動整列するVBAコードをご紹介します。

このページのマクロコードは、コピペで使えます。
ぜひ、お試しください。

選択範囲のチェックボックス整列(縦)

以下のExcelVBAを実行すると、選択範囲のチェックボックスを整列します。


Sub 指定範囲のチェックボックス並べる()
  
Dim cb As checkbox
Dim MyCb() As Variant
Dim i As Long
    
    i = 1
    
    '選択範囲のチェックボックスをループ
    For Each cb In ActiveSheet.CheckBoxes
        If Not Application.Intersect(cb.TopLeftCell, Selection) Is Nothing Then
            ReDim Preserve MyCb(i)
            MyCb(i) = cb.Name
            i = i + 1
        End If
    Next cb
  
    'チェックボックスを選択にする
    ActiveSheet.Shapes.Range(MyCb).Select

    'チェックボックスを中央揃えに配置
    Selection.ShapeRange.Align msoAlignCenters, msoFalse
    
End Sub

マクロ実行前

整列したいチェックボックスがある範囲を選択します。


 

マクロ実行後

チェックボックスを中央揃えにして、縦に整列します。


 

補足

チェックボックスのオブジェクトの左上部分が、

他の列にある場合、そのチェックボックスは自動整列されません。


 

選択範囲のチェックボックス整列(横)

以下のExcelVBAを実行すると、選択している範囲のチェックボックスを整列します。


Sub 特定範囲のチェックボックス並べる()

Dim cb As checkbox
Dim MyCb() As Variant
Dim i As Long

    i = 1

    '選択範囲のチェックボックスをループ
    For Each cb In ActiveSheet.CheckBoxes
        If Not Application.Intersect(cb.TopLeftCell, Selection) Is Nothing Then
            ReDim Preserve MyCb(i)
            MyCb(i) = cb.Name
            i = i + 1
        End If
    Next cb

    '全てのチェックボックスを選択
    ActiveSheet.Shapes.Range(MyCb).Select

    'チェックボックスの位置を揃える
    Selection.ShapeRange.Align msoAlignTops, msoFalse

End Sub

マクロ実行前

整列したいチェックボックスがある範囲を選択します。


 

マクロ実行後

チェックボックスの上端を揃えて整列します。


 

補足

チェックボックスのオブジェクトの左上部分が、

他の行にある場合、そのチェックボックスは自動整列されません。


 
 
この記事がお役に立ちますと幸いです。
 
・【エクセルマクロ】チェックボックス処理を自動化まとめ
 

【エクセルマクロ】チェックボックスを自動操作:使用例16選
...

 

「たった1秒で仕事が片づくExcel自動化の教科書【増強完全版】」
「5時間かかる作業が3時間でできます」ではなく「1秒で終わらせます」へ
毎日の業務を瞬時に終わらせるしくみを解説