В настоящее время у меня есть код, который перебирает динамическое выпадающее меню и печатает различные выделения в их собственной ячейке в отдельном столбце. Однако я хочу адаптировать этот код для работы с несколькими выпадающими меню. В настоящее время, когда пользователь выбирает параметры из соседнего раскрывающегося меню, значение перезаписывает предыдущие варианты выбора. Я пытаюсь создать цикл, который помещает выборки из каждого выпадающего меню в свой собственный столбец. Любая помощь будет принята с благодарностью, так как я очень новичок в VBA.
Я попытался создать функцию ActiveCell.Column под оператором Target.Row if, но я получаю сообщение об ошибке, что требуется переменная.
Dim Oldvalue As String
Dim Newvalue As String
Application.EnableEvents = True
On Error GoTo Exitsub
If Target.Row = 11 Then
'The following commented line causes variable error'
'For ActiveCell.Column = 1 To 8'
If Target.SpecialCells(xlCellTypeAllValidation) Is Nothing Then
GoTo Exitsub
Else: If Target.Value = "" Then GoTo Exitsub Else
Application.EnableEvents = False
Newvalue = Target.Value
Application.Undo
Oldvalue = Target.Value
If Oldvalue = "" Then
Target.Value = Newvalue
Dim val As String
val = ActiveCell.Value
If j = 0 Then
Cells(11, j + 9).Value = val
End If
Else
If InStr(1, Oldvalue, Newvalue) = 0 Then
Target.Value = Oldvalue & ", " & Newvalue
Dim txt As String
Dim i As Integer
Dim FullName As Variant
txt = ActiveCell.Value
FullName = Split(txt, ",")
For i = 0 To UBound(FullName)
Cells(i + 11, 9).Value = FullName(i)
Next i
Else:
Target.Value = Oldvalue