У меня есть процедура в Excel VBA, которая является необходимым параметром диапазона, а также будет производить выходной диапазон именно в активной ячейке.
Код выглядит так:
Sub test(oSource as Range)
Dim oTarget As Range
Dim oCell As Range
Set oTarget = Range(ActiveCell, ActiveCell.Offset(0, 0))
For Each oCell In oSource
If oCell.Value <> "" Then
oTarget.Activate
oTarget.Offset(0, 0).Value = oCell.Text
oTarget.Offset(0, 1).Value = oCell.Text
Set oTarget = oTarget.Offset(1, 0)
End If
Next
End Sub
Как я это называю? Я уже пытаюсь использовать такую функцию
Function(SourceRange as Range)
Call test(SourceRange)
End Function
Но это не работает, потому что test()
выдаст диапазон в активной ячейке и заменит функцию, а Excel выдаст предупреждение о циклическом значении. Я не могу зарегистрировать его в макросе, кнопка создания всегда отключена, когда я нажимаю кнопку воспроизведения. Так как я называю этот Sub?