Я пытаюсь создать функцию в Excel VBA, которая ссылается на соседнюю ячейку в той же таблице и в той же строке, в которой будет находиться функция. По сути, я пытаюсь найти термин VBA для выражения следующегообычная ссылка на таблицу Excel:
[@[columnname]]
Мне нужно использовать эту ссылку только для базового оператора IF
.
Мне кажется, что ответ на эту проблему долженбыть очевидным, но я просто не могу понять это.
изображение фиктивной таблицы
Редактировать: добавлено это изображение, чтобы показать, что я хочу сделать.Я в основном хочу создать более конкретный оператор if, который будет проверять, является ли значение в ячейке той же строки, что и PIK или начисленные проценты (но в столбце «Тип действия»), «Начальной настройкой».это тупая версия, но мне просто нужно понять концепцию создания ссылки.
Отредактированный код ответа (спасибо, кстати), чтобы соответствовать моим потребностям:
`Function IfAdvance(ifTrue As Variant, ifFalse As Variant)
Dim c As Range, lo As ListObject, f As Range
Set c = Application.Caller 'or Application.ThisCell
' = the cell containing the formula
For Each lo In c.Worksheet.ListObjects
If Not Intersect(c, lo.DataBodyRange) Is Nothing Then
'locate the column header of interest
Set f = lo.HeaderRowRange.Find("Action Type", , xlValues, xlWhole)
If f.Value = "Initial Set-Up" Then
MyTableUDF = ifTrue
Else
MyTableUDF = ifFalse
End If
Exit Function
End If
Next lo
MyTableUDF = "Not in a Table!"
End Function`
но не былне может заставить его работать, к сожалению.