ボタンの各セットの周りに GroupBox を使用してコメントに記載されているように、各セットが互いに独立して動作できるようにします。下の図では、GroupBox Names を削除し、グループボックスの境界線をセル境界線で並べてから、セル境界線を使用してグループボックスをほぼマスクしているため、アクティブに選択されているもの (上部最も多いもの):

リクエストに応じて、VBA コードをいくつか示します。このコードを実行する前に、行の高さを 20 ポイント以上に設定することをお勧めします。グループボックスの最小の高さは 19.5 です。また、オプション ボタンの幅を決定するためにセルの幅が使用されるため、オプション ボタンのテキストに十分な余裕のある幅を使用してください。
Sub Sample()
Dim Top As Variant, Left As Variant, Height As Variant, Width As Variant
Dim rngActiveRowA As Range, rngEndOfBox As Range
Dim lngActiveRow As Long, lngActiveColumn As Long
With Application
.ScreenUpdating = False
.Calculation = xlCalculationManual
.EnableEvents = False
End With
For lngActiveRow = 1 To 5
Set rngActiveRowA = Range("A" & lngActiveRow)
Set rngEndOfBox = Range("F" & lngActiveRow + 1)
Top = rngActiveRowA.Top
Left = rngActiveRowA.Left
Height = rngEndOfBox.Top - Top
Width = rngEndOfBox.Left - Left
ActiveSheet.GroupBoxes.Add(Left, Top, Width, Height).Caption = ""
For lngActiveColumn = 1 To 5
With ActiveSheet
Top = .Cells(lngActiveRow, lngActiveColumn).Top
Left = .Cells(lngActiveRow, lngActiveColumn).Left
Height = .Cells(lngActiveRow + 1, lngActiveColumn + 1).Top - Top
Width = .Cells(lngActiveRow + 1, lngActiveColumn + 1).Left - Left
End With
With ActiveSheet.OptionButtons.Add(Left, Top, Width, Height)
.Characters.Text = "OB" & lngActiveColumn
.LinkedCell = "$F$" & lngActiveRow
End With
Next lngActiveColumn
Next lngActiveRow
With Application
.ScreenUpdating = True
.Calculation = xlCalculationAutomatic
.EnableEvents = True
End With
End Sub
このコードは、最初の 5 行の各行の最初の 5 列の周りにグループ ボックスを作成します。また、それぞれの行の F セルにリンクされたその領域の各セル内にオプション ボタンを設定します。各ボタンの名前を OB + 列番号に変更します。