Сводная таблица извлекается из другого файла Excel, не обновляется при обновлении файла

У меня есть два файла Excel. Каждый имеет все данные, которые вводятся несколькими людьми периодически в течение дня. Второй получает данные из первого файла, а затем создается сводная диаграмма. Если оба пользователя открыты одним пользователем, сводная таблица обновляется автоматически. Если у одного человека есть открытые данные, а у другого - одна открытая сводная таблица, то в сводной диаграмме обновления не происходит. Я понимаю, что данные должны быть сохранены, а затем второй с сводной таблицей должен быть обновлен.. что является самым быстрым и простым способом сделать это..

1 ответ

Существуют ограничения на использование Excel в качестве базы данных для нескольких пользователей, и ваш пример является одним из них. (см. также " один файл-Excel-файл-несколько-редактирование-пользователи-живые-обновления")

В качестве решения проблемы я бы порекомендовал следующее:

1) в рабочей книге "данные", некоторый код VBA для модуля рабочей таблицы для автоматического сохранения рабочей книги при записи новой "записи". Будет работать что-то вроде примера, но замените "C:C" на столбец, в котором вы хотите сохранить данные. Это просто так, он не сохраняет, когда заполнено каждое поле, только на одном из них.

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("C:C")) Is Nothing Then 
End Sub

2) в сводной таблице и сводной таблице

а) Добавить код VBA в ThisWorkbook Модуль для автоматического открытия книги данных, например:

Private Sub Workbook_Open()
        Workbooks.Open "C:\My Documents\Data_Workbook.xlsm"
End Sub

б) установите автоматическое обновление при открытии, как показано на рисунке ниже. Очевидно, вам нужно будет открыть рабочую книгу "Данные", даже если она только в режиме только для чтения. (Очевидно, вы могли бы написать для этого и некоторый код VBA, но я постарался минимизировать это)

Это не элегантно, но опять же использование Excel в качестве базы данных с самого начала является компромиссом.

Другие вопросы по тегам