Я предполагаю, что когда вы говорите «курс запаса в таблице», вы подразумеваете «курс запаса в рабочем листе», а также предполагаете, что значения в столбце J содержат курсы запаса для того же запаса.Другими словами, вы подходите только для даты в этом столбце, а не для биржевого символа И даты.(Пожалуйста, дайте мне знать, если у меня неверные предположения).
Это значит, что вы можете попробовать следующую формулу в столбце B:
=IF(A50<>"",INDEX(J:J,MATCH(A50,StockSheet!J:J,0) +1),"")
В этом случае формула находится вячейка B50 и предполагает, что новая дата в A50.Он говорит учитывая значение даты в ячейке J + n, укажите значение в ячейке J + n + 1 .
Я добавил небольшую проверку проверки, чтобы увидеть, было ли значение вA50, но вы можете пойти глубже, чем это.
Кроме того, если вы хотите сделать значение в B50 статическим, просто используйте следующий код:
Sub mySub()
Dim x As Range 'I assume this range will be for your currentm, working worksheet
Set x = Range("B50", "B50")
x.Formula = "=IF(A50<>"""",INDEX(J:J,MATCH(A50,Codes!J:J,0) +1),"""")"
x = x.Value
End Sub