Как обновить ячейки в Excel 2010 с помощью VBA?

Вопрос: Как обновить ВСЕ ячейку через VBA Как получить Excel для обновления данных на листе из VBA? Я использую все решения, которые появляются выше: ActiveSheet.EnableCalculation = False ActiveSheet.EnableCalculation = True или Application.Calculate или Application.CalculateFull но ни один из них не работает в excel 2010, когда я иду в ячейку и правой кнопкой мыши refresh работает.

Вопрос:

Как обновить ВСЕ ячейку через VBA

Как получить Excel для обновления данных на листе из VBA?

Я использую все решения, которые появляются выше:

ActiveSheet.EnableCalculation = False ActiveSheet.EnableCalculation = True

или

Application.Calculate

или

Application.CalculateFull

но ни один из них не работает в excel 2010, когда я иду в ячейку и правой кнопкой мыши refresh работает. Как обновить его в VBA.

Эта опция: Sheets(«Name_of_sheet»).Range(«D424»).Refresh поднять exception 438.

вопросы:

  • Как я могу сделать script поддержку excel 2003,2007,2010?
  • Как я могу выбрать, используя VBA исходный файл для обновления?

EDIT:

  • Я хочу имитировать щелчок правой кнопкой мыши и выбор обновления в меню worksheet 3. что вся история.

  • Я работаю над файлом excel, который был создан 10 лет назад. Открыв его в excel 2010, я могу перейти в ячейку и щелкнуть правой кнопкой мыши по ней и выбрать обновление, а затем выбрать файл .txt для обновления, и он работает отлично. Теперь, когда я пытаюсь сделать это автоматически в VBA, весь код, указанный выше, не помогает.

Лучший ответ:

Вы можете попробовать использовать Application.Calculation

Application.Calculation = xlCalculationManual Application.Calculation = xlCalculationAutomatic Ответ №1

Для отдельной ячейки вы можете использовать:

Range(«D13»).Calculate

ИЛИ

Cells(13, «D»).Calculate Ответ №2

просто напоминание;

будьте осторожны при использовании

Application.Calculation = xlCalculationManual Application.Calculation = xlCalculationAutomatic

это устанавливает полное приложение excel для вычисления формулы автоматически или вручную. Если вы используете

Application.Calculation = xlCalculationManual

вы заметите, что ваши автоматические формулы больше не работают.

веселит

Ответ №3

Я, наконец, использовал мышиные события и нажатия клавиш:

Sheets(«worksheet34»).Select Range(«D15»).Select Application.WindowState = xlMaximized SetCursorPos 200, 600 ‘set mouse position at 200, 600 Call mouse_event(MOUSEEVENTF_RIGHTDOWN, 0, 0, 0, 0) ‘click left mouse Application.SendKeys («R»)

Оцените статью
Добавить комментарий