-1

У меня есть ячейка, которая будет иметь разные текстовые значения (потому что это выбор раскрывающегося списка) в соответствии с выбранным значением, она должна быть связана с другим рабочим листом, который предпочтительно будет иметь имя текстового значения. Тогда мне нужно будет связать около 50 имен в выпадающем списке, должна быть формула VBA, которая связывает меня там.

Я поместил результат выпадающего меню в другую ячейку как = Right, чтобы скопировать значение и сделать ссылку оттуда на новый лист, но я в стеке.

эта формула работает для конкретного имени, но мне нужно обновлять "общее имя" каждый раз, когда открывается новый рабочий лист:

Если диапазон ("C29").Value = "Edgar" Затем Sheets ("Эдгар").Выбрать

Заранее спасибо!

1 ответ1

0

Я не уверен, что полностью понимаю ваш вопрос (например, я не понимаю, «связан ли он с другим рабочим листом, который предпочтительно будет иметь имя текстового значения») или «мне нужно, чтобы" общее имя "обновлялось каждый раз, когда новая рабочая таблица открыта », но это то, что вы можете обойтись без VBA.  Если ячейка C29 содержит имя листа в текущей рабочей книге и (в какой-то другой ячейке) вы хотите получить доступ к значению ячейки Q42 на листе, названном ячейкой C29 , используйте

=INDIRECT(C29 & "!Q42")

& - это конкатенация строк, поэтому строится строка «Эдгар!Q42” .  И функция INDIRECT обрабатывает эту строку как ссылку на ячейку.

Это обеспечивает доступ только для чтения: если пользователь заполняет ячейку C29 значением «Эдгар» (выбирая из раскрывающегося списка или любым другим способом), то в ячейках на Листе 1 могут отображаться значения из листа «Эдгар», например, Эдгара. дата и место рождения, цвет глаз и т. д. Я выбрал эти примеры как вещи, которые вы никогда не измените.  Но если ваша рабочая книга также содержит динамическую информацию, такую как текущий адрес и номер телефона, рост и вес, должность и зарплата и т.д., То пользователь сможет только просматривать их.  Если вы хотите, чтобы рабочая книга перешла на лист «Эдгар», вам понадобится VBA.  Если вы хотите иметь возможность вводить данные в ячейки на листе 1 и копировать их на лист «Эдгар», я не знаю, можно ли вообще это сделать; но если это возможно, я уверен, что для этого потребуется VBA.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .