エクセルマクロで、選択範囲のチェックボックスを自動整列する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秒で終わらせます」へ
毎日の業務を瞬時に終わらせるしくみを解説
リンク