У меня есть несколько таблиц Excel, которые довольно сильно бьют по базе данных (более 100 запросов к таблице главной книги ... да!). Обновление только листа, на котором я работаю (SHIFT + F9), полезно в некоторых электронных таблицах, но я хотел бы обновить только выбранные ячейки. Я получил следующий код, помещенный в объект ThisWorkbook:
Dim currentSelection As String
Private Sub Workbook_Open()
Application.OnKey "+^{F9}", "ThisWorkbook.RecalculateSelection"
End Sub
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
currentSelection = Target.Address
End Sub
Private Sub RecalculateSelection()
Range(currentSelection).Calculate
End Sub
Если возможно, я бы хотел сделать это более переносимым, например, сохранить его в файле XLA и загрузить как надстройку для Excel. Возможно ли это с помощью метода, который я использую? Есть ли лучший способ добиться этого?