OptionButton索引问题

问题描述:

我在每行的前五个单元格上有五个选项按钮(窗体控件)。选项按钮链接到第六个单元格分别为每行 ,我想获得第六个单元格中的索引号。OptionButton索引问题

(选项按钮表单控件返回选项按钮的指示为链接细胞中的状态的值。)

现在的问题是从第二行起的选项按钮的索引号是大于5 所以在第六单元格的值大于5。我想他们是1 5

之间

较大(指数是选项按钮类的只读属性)

如何才能实现这一目标? (最好不用vba)

感谢您的关注。

+1

这似乎不起作用。但是,如果您为相关的选项按钮设置了组框控件,它将按照您希望的那样工作。 – shahkalpesh

+0

由于@shahkalpesh表示每个独立的选项按钮组必须位于其自己的GroupBox中 – user2140261

AS在使用GroupBox的注释中说明围绕每组按钮将允许每组独立操作。在下面的图片中,我删除了GroupBox名称,并将单元格边框与单元格边框对齐,然后使用单元格边框几乎遮住了groupbox,因此除了正在选择的单元外,不能指出它们即使存在最多一个):

enter image description here

根据要求,这里是一些VBA代码。我建议在运行此代码之前,将行的高度设置为至少20点。由于groupbox的最小高度是19.5,单元格的宽度将用于确定OptionButtons的宽度,因此请确保使用宽度足以满足OptionButton文本的宽度。

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列周围创建一个groupbox。它还会在链接到各自行中的F单元的区域的每个单元格中填充一个选项按钮。并将每个按钮重命名为OB +它所在的列号。

+0

感谢您的回复。图像正是我正在寻找的。这个groupbox&optionbutton可以使用vba创建吗?如果是,你可以分享代码。 – Santosh

+0

@Santosh根据要求,我已经更新了我的答案,包括样本VBA。 – user2140261

+0

超级喜欢它。非常感谢。 – Santosh