I have procedure in Excel VBA which is need range parameter and also will produce output range exactly in active cell.
The code looks like this :
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
How do i call this ? I already try using function like this
Function(SourceRange as Range) Call test(SourceRange) End Function
But it not working because
test() will produce range in the active cell and will replace the function, excel will give circular value warning. I cant register it in macro, the create button always disabled when i click play. So how i call this Sub ?