Мне нужно выполнить некоторый код VBA при изменении листа. Для этого у меня ситуация If-then-else.использовать имя столбца ListObject в VBA
В любой конкретной строке (у меня есть переменное число строк (т.е. позиции)):
if column "Type" = Range("A") then
column "Amount" needs to be unlocked
set to the value of Range("B") and locked
else if column "Type" = Range("C") then
column "Amount" needs to be unlocked
set to the value of Range("C") and locked
else
the column "Amount" needs to unlocked.
В случае изменения рабочего листа, разблокировать/замок с помощью ActiveSheet.Protect
и .Unprotect
с паролем из диапазона ,
Теперь я пытаюсь выяснить, как это сделать. В частности, как использовать имена столбцов - например, в формуле?
Не уверены, именно то, что вы просите, но использовать имя столбца в VBA, как и на листе, вы используете его так же, как и любое другое задание диапазона Name'd: ** range («Table1 [Name]») ** возвращает объект диапазона, относящийся к столбцу «Имя». Но, как предложил Андре, вам, возможно, стоит более внимательно изучить ListObject для более эффективного кодирования. –