2016-01-17 6 views
1

У нас есть код VBA для обновления данных из базы данных MySql в Excel.Сохранять формулы при обновлении данных

Формулы, существовавшие ранее в Excel, исчезают после обновления данных из базы данных.

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

1.

Worksheets("HSE").Range("D10:O11,D15:O16,D20:O25,D29:O30,D32:O33,D36:O45").ClearContents 

2.

Dim rConstants As Range 

Set rConstants = Worksheets("HSE").Range("D9:O45").SpecialCells(xlCellTypeConstants) 
rConstants.ClearContents 

но оба не работали.

ответ

0

Ваши формулы всегда будут в одном месте? Если это так, то, что вы могли бы подумать, - это загружать сырые данные из MySql в один рабочий лист, а затем настраивать второй рабочий лист, где каждая ячейка либо ссылается на соответствующую ячейку на первом листе, либо имеет формулу и применяет ее к соответствующей ячейке в первый лист.

+0

Спасибо за ответ. да, формулы будут находиться в одном месте. но ответ, который вы дали, нам трудно реализовать. потому что у нас есть больше листов для обновления и больше пользователей, которые используют эти данные. поэтому мы не можем попросить их использовать 2 листа для каждой кнопки обновления. – user3674928

0

Я рекомендую вам выделить страницу «дамп данных» на странице «формула». Пользователи должны знать, что они не должны напрямую редактировать страницы «дампов данных» и вместо этого должны извлекать информацию на другую страницу с помощью SUMIFS, INDEX (MATCH) и т. Д.

Это позволит вам обновлять страницы данных не влияя на формулы ваших пользователей, и в качестве дополнительного преимущества будет более четко разрешать аудит/просмотр работы пользователя.

Смежные вопросы