Я искал решение для этого и использовал косвенный, найденный на этой странице изначально, но я нашел его довольно длинным и неуклюжим для того, что я пытался сделать.После небольшого исследования я нашел более элегантное решение (для моей проблемы) с использованием нотации R1C1 - я думаю, что вы не можете смешивать разные стили нотации без использования VBA.
В зависимости от того, что вы пытаетесьделать с ячейкой с собственной ссылкой, что-то вроде этого примера должно заставить ячейку ссылаться на себя, где ячейка F13:
Range("F13").FormulaR1C1 = "RC"
И затем вы можете ссылаться на ячейки в относительных позициях к этой ячейке, например - где вашячейка - это F13, и вам нужно сослаться на G12 из нее.
Range("F13").FormulaR1C1 = "R[-1]C[1]"
По сути, вы говорите Excel найти F13, а затем переместитесь вниз на 1 строку и на одну колонку вверх от этого.
Какэто вписалось в мой проект, чтобы применить vlookup ко всему диапазону, где значение поиска было относительно каждой ячейки в диапазоне, без необходимости указывать каждую ячейку поиска отдельно:
Sub Code()
Dim Range1 As Range
Set Range1 = Range("B18:B23")
Range1.Locked = False
Range1.FormulaR1C1 = "=IFERROR(VLOOKUP(RC[-1],DATABYCODE,2,FALSE),"""")"
Range1.Locked = True
End Sub
Мое значение поиска - это ячейка дляслева от каждой ячейки (столбец -1) в моем диапазоне DIM, и DATABYCODE - это именованный диапазон, против которого я смотрю.
Надеюсь, что это делаетнемного смысла?Думал, что это стоит добавить в качестве другого способа решения проблемы.