Note: The other languages of the website are Google-translated. Back to English

Как использовать / ссылочное значение из предыдущего листа в Excel?

Как ссылаться на конкретное значение ячейки из предыдущего листа при создании копии в Excel? Например, при создании копии Sheet2 вы можете захотеть автоматически ссылаться на ячейку A1 Sheet2 на новый скопированный рабочий лист (говорит Sheet3). Как этого добиться? Эта статья вам поможет.

Использовать / ссылочное значение из предыдущего рабочего листа с пользовательской функцией
Используйте / ссылочное значение из предыдущего рабочего листа с Kutools for Excel


Использовать / ссылочное значение из предыдущего рабочего листа с пользовательской функцией

Честно говоря, ни один метод не может автоматически ссылаться на определенное значение ячейки при создании копии рабочего листа. Фактически, вы можете создать новый лист, а затем ссылаться на значение ячейки из предыдущего листа с помощью следующей пользовательской функции.

1. После создания нового пустого листа (говорит Sheet3), нажмите другой + F11 в то же время, чтобы открыть Microsoft Visual Basic для приложений окно.

2. в Microsoft Visual Basic для приложений окна, нажмите Вставить > Модули. Затем скопируйте и вставьте следующий код VBA в окно кода.

VBA: использовать / ссылочное значение из предыдущего листа в Excel

Function PrevSheet(RCell As Range)
    Dim xIndex As Long
    Application.Volatile
    xIndex = RCell.Worksheet.Index
    If xIndex > 1 Then _
        PrevSheet = Worksheets(xIndex - 1).Range(RCell.Address)
End Function

3. нажмите другой + Q клавиши одновременно, чтобы закрыть Microsoft Visual Basic для приложений окно.

4. Выберите пустую ячейку Sheet3 (говорит A1), введите формулу = PrevSheet (A1) в Панель формул и затем нажмите Enter .

Теперь вы получите значение ячейки A1 предыдущего листа (Sheet2) на текущем листе.

Внимание: Код автоматически идентифицирует рабочий лист, который принадлежит предыдущему из текущего рабочего листа.


Используйте / ссылочное значение из предыдущего рабочего листа с Kutools for Excel

Для Динамически обращаться к рабочим листам полезности Kutools for Excel, вы можете легко использовать или ссылаться на значение из предыдущего листа в Excel.

Перед применением Kutools for Excel, Пожалуйста, сначала скачайте и установите.

1. Если вы хотите связать значение ячейки A1 из предыдущего листа с текущим листом, выберите ячейку A1 в текущем листе и нажмите Кутулс > Больше > Динамически обращаться к рабочим листам. Смотрите скриншот:

2. в Заполнить рабочие листы Ссылки диалоговом окне, проверьте только предыдущее имя рабочего листа в Список рабочих листов поле, а затем щелкните Диапазон заполнения кнопку.

Затем вы можете увидеть, что значение ячейки A1 на предыдущем листе указано в текущем листе.

Внимание: С помощью этой утилиты вы можете одновременно ссылаться на одно и то же значение ячейки из разных листов в текущий лист.

  Если вы хотите получить бесплатную пробную версию (30-день) этой утилиты, пожалуйста, нажмите, чтобы загрузить это, а затем перейдите к применению операции в соответствии с указанными выше шагами.


Используйте / ссылочное значение из предыдущего рабочего листа с Kutools for Excel


Лучшие инструменты для работы в офисе

Kutools for Excel решает большинство ваших проблем и увеличивает вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма ...
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон...
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы... Предотвращение дублирования ячеек; Сравнить диапазоны...
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор ...
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое ...
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии...
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом ...
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF...
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
вкладка kte 201905

Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
офисный дно
Сортировать комментарии по
Комментарии (22)
Оценок пока нет. Оцените первым!
Этот комментарий был сведен к минимуму модератором на сайте
Здравствуйте, у меня вопрос к знатокам. Я могу сделать ссылку на предыдущий лист. Но я хотел бы продолжать повторять эту ссылку по всей книге в одной и той же ячейке на следующих листах. (т.е. D13) Пример: Лист 1 Ячейка D13 повторяется на следующих листах с 1 инкрементным значением на каждом. Однако, если я удалю лист 7 или любой другой лист, мне нужно, чтобы Excel продолжал считать так же. например, лист 1. Я начинаю со 100 листов 20, заканчиваю 119, если я удаляю пару листов, я хочу убедиться, что ссылки меняются автоматически без ручного вмешательства. Это означает, что ссылка на D13 меняется автоматически после удаления листов. Спасибо за помощь.
Этот комментарий был сведен к минимуму модератором на сайте
Отличная работа и объяснение. Сэкономил мне столько времени, большое спасибо.
Этот комментарий был сведен к минимуму модератором на сайте
Я искал что-то, чтобы сделать это навсегда, большое спасибо, что вы понятия не имеете. У меня есть простая электронная таблица для еженедельного ввода данных и новая вкладка для каждой недели. дни, дата, номер недели и т. д. идут +1, а затем берутся с предыдущего листа и перемещаются на новый, это создало быстрое решение для передачи данных на разные листы --- Еще раз спасибо
Этот комментарий был сведен к минимуму модератором на сайте
Добрый день,
Извините, я не могу помочь с этим, вы можете задать свой вопрос на нашем форуме: https://www.extendoffice.com/forum.html чтобы получить больше поддержки Excel от нашего профессионала.
Этот комментарий был сведен к минимуму модератором на сайте
А как насчет потребительной стоимости из Next Sheet?
Этот комментарий был сведен к минимуму модератором на сайте
Привет Алекс,
Чтобы получить значение из следующего листа, замените знак минус на знак плюс в шестой строке кода:
PrevSheet = Рабочие листы (xIndex + 1). Диапазон (RCell.Address)
Этот комментарий был сведен к минимуму модератором на сайте
Привет, Кристалл, я попытался заменить знак минус на знак плюс, но это не сработало — соответствующая ячейка просто вернула ноль. Я просто хочу, чтобы изменения выполнялись точно так же, как указано выше, НО с нумерацией книг справа налево, т.е. Лист3, Лист 2, Лист1 (предыдущий лист будет тот, что справа). Спасибо
Этот комментарий был сведен к минимуму модератором на сайте
Привет Мав,
Метод работает на основе порядка рабочих листов в вашей книге. т.е. Порядок рабочих листов слева направо: Лист3, Лист2 и Лист1. Для Листа2 предыдущий рабочий лист — Лист3, а следующий рабочий лист — Лист1.
Этот комментарий был сведен к минимуму модератором на сайте
Привет, Кристал,
Да, я знаю. Мой вопрос (как и у Алекса) заключается в том, какое изменение требуется, чтобы заставить его работать по-другому, то есть для следующего листа, где следующий лист находится слева от предыдущего листа? Вы написали Алексу,
"пожалуйста, замените знак минус на знак плюс в шестой строке кода:
PrevSheet = Worksheets(xIndex + 1).Range(RCell.Address)".
Мой комментарий был просто для того, чтобы сказать, что это конкретное изменение не сработало, и спросить, есть ли у вас способ, который действительно будет работать.
Этот комментарий был сведен к минимуму модератором на сайте
Я выполнил шаги 1–4, но постоянно возвращаю #NAME? ошибка - подскажите?
Этот комментарий был сведен к минимуму модератором на сайте
Привет Андрей,
Какую версию Office вы используете?
Этот комментарий был сведен к минимуму модератором на сайте
Я выполнил шаги 1–4, но постоянно получаю сообщение об ошибке #NAME. Excel 2016. Посоветуйте?
Этот комментарий был сведен к минимуму модератором на сайте
Привет Анон,
Код хорошо работает в моем Excel 2016. Обнаружили ли вы напоминание о конкретной ошибке в окне кода при получении результата ошибки #NAME?
Этот комментарий был сведен к минимуму модератором на сайте
Я попробовал код, но он возвращает запрещенные формулы. Ячейка предыдущего рабочего листа является результатом формулы. Как обойти формулу и вернуть результат? Предыдущая ячейка листа возвращает формулу =СУММ(L38:L39)-L40
Этот комментарий был сведен к минимуму модератором на сайте
Привет, RudyT, я проверил это в упомянутых вами обстоятельствах, но здесь у меня нет проблем. Какую версию Excel вы используете?
Этот комментарий был сведен к минимуму модератором на сайте
Вау, это было 3 месяца назад, но, безусловно, ценю ответ...

Я не знаю, как проверить Excel 365... Проблема в том, что у меня есть значение, которое я хочу передать на новый лист, который должен прочитать, получить значение предыдущего листа, не называя его. Просто получите предыдущее значение листа. Ваш код передает код предыдущего листа, а не значение. Потому что значение ячейки представляет собой формулу, которая собирает итоги из двух других ячеек.
Этот комментарий был сведен к минимуму модератором на сайте
Отлично. Я использовал функцию предыдущего листа, но если я добавляю строки или столбцы на предыдущем листе, значения изменяются. Мне нужен постоянный результат. например, если я выберу =prevsheet(A6), где значение есть, но на предыдущем листе, если я добавлю одну строку, значение перейдет к A7, но на текущем листе оно принимает значение только A6, вы можете мне помочь
Этот комментарий был сведен к минимуму модератором на сайте
Превосходно!!! Код VBA большое спасибо
Этот комментарий был сведен к минимуму модератором на сайте
БОЛЬШОЕ БОЛЬШОЕ СПАСИБО! ОЧЕНЬ ПОЛЕЗНО!
Этот комментарий был сведен к минимуму модератором на сайте
Привет.

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

Он возвращает ошибку имени в ячейке I input =PrevSheet(A1).

Оба листа имеют код vba, а файл сохраняется как .xlsb.

Любые подсказки?
Заранее спасибо :)
Этот комментарий был сведен к минимуму модератором на сайте
Привет Сотос,
Вам нужно поместить VBA в Модуль (код) окно (нажмите клавиши Alt + F11, чтобы открыть визуальный редактор, нажмите «Вставить»> «Модуль», чтобы добавить новый редактор модулей, и введите код). Затем примените формулу.
Этот комментарий был сведен к минимуму модератором на сайте
Привет, Ваш код работает отлично! Моя цель - заполнить столбец на одном из рабочих листов, который обновит линейный график. Мой вопрос заключается в том, как добавить новый номер, введенный на новый рабочий лист, сохраняя при этом те же числа, что и на предыдущих листах. Например, я ввел PrevSheet(A1) на листе 2, который берет число для ячейки A1 с листа 1. Поэтому я перешел к ячейке A2 листа 2 и снова ввел PrevSheet(A1). Намерение состоит в том, что если я скопирую и вставлю новый лист (назовем его Лист N), и я обновлю ячейку A1 в Листе N с другим значением, Лист 2 будет иметь значение из Листа 1 в ячейке A1, а значение из Листа N в ячейке A1 в ячейке A2. Но что происходит, так это то, что ячейки A1 и A2 на листе 2 обновляются до тех же значений, что и на листе N. Это имеет смысл, потому что они берут значения из предыдущего листа. Надеюсь, я вас не смутил. Спасибо!
Здесь еще нет комментариев
Оставляйте свои комментарии
Публикация как гость
×
Оценить этот пост:
0   Характеристики
Предлагаемые места

Подписывайтесь на Нас

Copyright © 2009 - www.extendoffice.ком. | Все права защищены. Питаться от ExtendOffice, | Карта сайта
Microsoft и логотип Office являются товарными знаками или зарегистрированными товарными знаками Microsoft Corporation в США и / или других странах.
Защищено Sectigo SSL