У Bud есть 50 или 60 определенных имен в книге. Во многих из них ему нужно заменить любое вхождение $ Q $ 4 на $ Q $ 3. Бад может открыть их в Менеджере имен и редактировать их по отдельности, но ему интересно, есть ли способ сделать это менее ручным способом.

Есть два способа решить эту проблему. Первый — попытаться «обмануть» и заставить Excel внести изменения. Выберите текущую ячейку Q3, а затем удалите эту ячейку, перемещая ячейки вверх. Это переместит текущий Q4 в Q3, и Excel должен обновить все ссылки (включая любые определенные имена), чтобы теперь они ссылались на Q3.

Конечно, это не сработает, если удаление испортит макет вашего рабочего листа. В этом случае вам будет лучше использовать второй подход, основанный на макросе. Макрос может легко пройти через каждое из определенных имен и произвести замену. Вот очень простой пример:

Sub ReplaceFormulasInNames()

Dim n As Integer

For n = 1 To Names.Count         Names(n).RefersTo = Replace(Names(n).RefersTo, "$Q$4", "$Q$3")

Next End Sub

Макрос проверяет свойство RefersTo для каждого имени и, если он содержит текст $ Q $ 4, изменяется на $ Q $ 3.

ExcelTips — ваш источник экономичного обучения Microsoft Excel.

Этот совет (13654) применим к Microsoft Excel 2007, 2010, 2013, 2016, 2019 и Excel в Office 365.