Всем доброго дня.
Есть следующая задача, очень хочется понять, как это сделать.
В файле пример. Первая таблица Б9-Г14 - это созданная таблица данных. Беда в том, что когда расчетов много и этих таблиц тоже много, работа excel заметно замедляется.
Нарыл код с разных источников, который выглядит как-то так (см. внизу) Вроде должен работать, пробовал с привязкой к макросу (модулю). Но хочется, чтобы код работал автономно, без привязок к кнопкам. Т.е. открыл файл - таблица подстановки обновилась.
Можно мне помочь как-то?))
Private Sub Worksheet_Change(ByVal Target As Range)
Dim nX As Integer
Dim nY As Integer
For nX = 1 To 5
For nY = 1 To 5
Worksheets("Ëèñò1").Cells(3, 2).Value = Cells(16, 2 + nX)
Worksheets("Ëèñò1").Cells(4, 2).Value = Cells(16 + nY, 2)
Worksheets("Ëèñò1").Calculate
nZ = Worksheets("Ëèñò1").Cells(5, 2)
Worksheets("Ëèñò1").Select Cells(16 + nX, 2 + nY).Value = nZ
Next nX
Next nY
Cells(3, 2).Value = 0
Cells(4, 2).Value = 0
End Sub
Есть следующая задача, очень хочется понять, как это сделать.
В файле пример. Первая таблица Б9-Г14 - это созданная таблица данных. Беда в том, что когда расчетов много и этих таблиц тоже много, работа excel заметно замедляется.
Нарыл код с разных источников, который выглядит как-то так (см. внизу) Вроде должен работать, пробовал с привязкой к макросу (модулю). Но хочется, чтобы код работал автономно, без привязок к кнопкам. Т.е. открыл файл - таблица подстановки обновилась.
Можно мне помочь как-то?))
Private Sub Worksheet_Change(ByVal Target As Range)
Dim nX As Integer
Dim nY As Integer
For nX = 1 To 5
For nY = 1 To 5
Worksheets("Ëèñò1").Cells(3, 2).Value = Cells(16, 2 + nX)
Worksheets("Ëèñò1").Cells(4, 2).Value = Cells(16 + nY, 2)
Worksheets("Ëèñò1").Calculate
nZ = Worksheets("Ëèñò1").Cells(5, 2)
Worksheets("Ëèñò1").Select Cells(16 + nX, 2 + nY).Value = nZ
Next nX
Next nY
Cells(3, 2).Value = 0
Cells(4, 2).Value = 0
End Sub