Excel 2013/2016 не обновляет значения, пока книга свернута

299
Rand Random

У меня есть следующие настройки:

  1. 1 Рабочая тетрадь Workbook1со значением 123в А1
  2. 1 Рабочая тетрадь Workbook2со значением =[Workbook1.xlsx]Sheet1!$A$1в А1

Теперь, когда я иду и меняю значение Workbook1на что-то другое, значение обновляется, как и ожидалось Workbook2.

Но, к сожалению, когда я минимизирую Workbook2и затем изменяю значение в Workbook1и затем восстанавливаю, Workbook2чтобы проверить, обновлено ли значение, оно все равно показывает старое значение.

Обратите внимание:

  • после восстановления окна, даже если я вычисляю (F9) или вычисляю весь лист (SHIFT + F9), значение не обновляется

  • когда я добавляю новый Worksheet к Workbook2значению обновляется (было больше совпадение, что я нашел это)

Есть ли способ это исправить?

Обновить:

Как уже упоминалось в комментариях Máté Juhász, существуют различные способы обновления значения.

Я сам обнаружил, что переключение View запускает ячейку для обновления или просто изменяет линейку Display, свойство Display gridlines, Display headers, и все они запускают ячейку для обновления ее значения.

Я также посмотрел на:

MsgBox Application.Range("A1").Value MsgBox Application.Range("A1").Text 

В обоих случаях выведите правильное значение, пока старое значение все еще отображается.

Поэтому возникла мысль, что все те операции, которые запускают ячейку, имеют одну общую черту: экран обновляется, поэтому мое текущее «решение» заключается в следующем:

Private Sub Workbook_WindowResize(ByVal Wn As Window)  Dim oldValue As Boolean oldValue = Application.ScreenUpdating Application.ScreenUpdating = Not oldValue Application.ScreenUpdating = oldValue  End Sub 

Зная, что проблема заключается в том, что экран не обновляется, я также попытался просто прокрутить свою ячейку за пределы видимого диапазона и прокрутить назад - это также обновило значение ячейки.

Кроме того, теперь имеет смысл, почему F9 и SHIFT + F9 не инициировали обновление ячейки, поскольку значение уже правильное, просто не нужно обновлять вычисление - поскольку оно уже есть, просто не видно ,

4
Это 2013 или 2016? вы пробовали обе версии? Может на разных компьютерах? Это происходит во всех книгах? Máté Juhász 5 лет назад 0
@ MátéJuhász 2013 и 2016, да пробовал обе версии - также пробовал на разных компьютерах - да, это происходит на всех рабочих книгах Rand Random 5 лет назад 0
Я пробовал и у меня та же проблема, хорошее определение! Кажется, это ошибка. На самом деле вам не нужно вставлять новый лист, просто переходя на другой лист, а затем обратно или переключаясь на предварительный просмотр, обновляет значение из другой книги. Máté Juhász 5 лет назад 2
@ MátéJuhász - спасибо за ваш комментарий, смотрите мое обновление Rand Random 5 лет назад 0
Это похоже на решение, пожалуйста, опубликуйте его как ответ, а не добавляйте его в свой вопрос. Máté Juhász 5 лет назад 1

0 ответов на вопрос

Похожие вопросы