【エクセルマクロ】選択範囲のチェックボックス整列 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選
エクセルマクロで、チェックボックスを自動で操作するVBAコードをご紹介します。どのマクロコードも、コピペで使用できます。ぜひお試しください!

 

[最速入門] ChatGPTに任せる Excelマクロ&VBA 面倒なプログラミングは秒で片づけよう

ChatGPTと対話しながら身につける、新しいVBA入門

Excelマクロ・VBAをAIと一緒にラクに習得したいなら、まず読んでおきたい一冊です!


★★★★★ 4.6 ※ Amazonカスタマーレビューより
マクロ記録とChatGPTを組み合わせた学習法が実践的で、すぐ現場で使える
「過不足のない指示」の出し方を学べ、AIとの対話スキルが身につく
変数・条件分岐・ループなどVBAの基礎もしっかり解説されている