Я сделал диаграмму на листе в Excel. На листе диаграмма относится к конкретным ячейкам на листе для отображения (то есть ячейкам, которые содержат мои точки данных).

Я хотел бы знать, как скопировать диаграмму на другой лист в моем файле Excel и обновить ссылки, чтобы ссылаться на адреса ячеек, которые находятся на его новом листе.

Всякий раз, когда вы копируете, вставляете / перемещаете диаграмму на другой лист, диаграмма будет по-прежнему ссылаться на ячейки исходного листа, на котором она была создана. Это происходит потому, что каждый раз, когда вы ссылаетесь на ячейку в диаграмме, она конкретно ссылается на лист, на котором она была сделана (т.е. вместо того, чтобы сказать $T$7:$T$12 , ссылки делаются как SHEET'!$T$7:$T$12).

В ссылках в таблице, если я изменю ссылку с SHEET'!$T$7:$T$12 до $T$7:$T$12 (или даже T7:T12), я получаю сообщение о том, что моя формула содержит ошибку.

Как я могу решить эту проблему?

Благодарю.

1 ответ1

0

Самый простой способ справиться с этим - скопировать весь лист с данными и диаграммой, а затем вставить новые данные в скопированный лист. Это достаточно простой протокол, хотя и требует много времени, но в моем уроке есть более подробное описание в разделе Копировать диаграмму на новый лист и Ссылка на данные на новом листе.

Альтернативой является копирование диаграммы на новый лист, используя процедуру VBA, чтобы изменить формулы ряда в скопированной диаграмме, чтобы заменить имя старого листа на имя нового листа. VBA в основном это:

Sub FindReplaceSeriesFormula(myChart As Chart, OldText As String, NewText As String)
  Dim srs As Series

  For Each srs In myChart.SeriesCollection
    srs.Formula = Replace(srs.Formula, OldText, NewText)
  Next
End Sub

и вы бы назвали это так:

Sub FixActiveChart()
  FindReplaceSeriesFormula ActiveChart, "Sheet1", "Sheet2"
End Sub

Я обсуждаю этот подход и предоставляю более пуленепробиваемый код в моем уроке Формула серии изменений - Улучшенные процедуры

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