Я сгенерировал переключатели с помощью ответа на другой вопрос, Как установить для автоматически сгенерированного переключателя значение true в VBA? .
Мое требование - установить автоматически сгенерированную кнопку Option в значение «True», если на другом листе есть значение «x».Пожалуйста, обратитесь к картине.
Рисунок 1: Источник для проверки значения,
Рисунок 2: Лист, к которому должна быть пометка «х»отражаться как Истина.
![enter image description here](https://i.stack.imgur.com/bjTWD.jpg)
Сгенерированные радиокнопки индексируются как OB2_2 для кнопки выбора в 2 строке и 2 столбце.
Вот код, с которым я пытался,
Private Sub AddOptionButtons(ByRef TargetRange As Range)
Dim m As Variant
m = Sheets("ALLO").Range("D23").Value + 1
Sheets("Final").Range("A2:A" & m).Copy Destination:=Sheets("Int_Result").Range("A2:A" & m)
Dim oCell As Range
For Each oCell In TargetRange
oCell.RowHeight = 20
oCell.ColumnWidth = 6
Dim oOptionButton As OLEObject
Set oOptionButton = TargetRange.Worksheet.OLEObjects.Add(ClassType:="Forms.OptionButton.1", Left:=oCell.Left + 1, Top:=oCell.Top + 1, Width:=15, Height:=18)
oOptionButton.Name = "OB" & oCell.row & "_" & oCell.Column
oOptionButton.Object.GroupName = "grp" & oCell.Top
Next
Call OB2_Click(oCell)
End Sub
Sub OB2_Click(oCell)
Dim col, ro, m As Variant
Dim Shap As Shape
m = Sheets("ALLO").Range("D23").Value + 1
For Each Shap In Sheets("Int_Result").Shapes
For ro = 2 To m Step 1
For col = 1 To 13 Step 1
If Sheets("Final").Cells(ro, col).Value = "" Then
Sheets("Int_Result").Shapes(ro, col).ControlFormat.Value = False
Else
Sheets("Int_Result").Shapes(ro, col).ControlFormat.Value = True
End If
Next col
Next ro
Next Shap
End Sub
Когда я попробовал этот код, я получил сообщение об ошибке «Переменная объекта или переменная блока не установлена» или «Неверно»количество аргументов или неверное присвоение свойства ".Руководство меня, чтобы получить доступ к автоматически сгенерированных кнопок радио
Пожалуйста, помогите мне в этом вопросе.Заранее спасибо!