Я смотрю на некоторую проблему при попытке запрограммировать макрос в Excel, который предназначен для добавления числовых значений из 2 таблиц и отображения обновленной суммы во второй из двух.
У меня естьЯ только начал изучать, как программировать макросы, поэтому мои знания немного просты, но я уверен, что должен быть способ настроить это более удобным способом, чем то, что я делаю сейчас.
У меня есть две таблицы, таблица 1 содержит данные текущей недели, которые вводятся вручную, а таблица 2 должна содержать итоговую сумму, которая рассчитывается при нажатии кнопки макроса «Добавить».Я смог полностью настроить это сам, используя очень простой код, поэтому я прошу помощи.На данный момент код макроса очень грязный и абсолютно массивный, я смотрю на 242 объявленных значения переменных и в общей сложности 925 строк кода.
Ниже приведено упрощение и сокращение, но в основном, как все работает правильноnow: Каждая таблица содержит до 11 столбцов данных, по 11 строк в каждой, поэтому макрос добавляет ячейки B2 к L12 к ячейкам B29 к L39.Затем результаты отображаются в виде суммы в ячейках с B29 по L39.Код прямо сейчас:
Sub Add()
Dim Add As Integer
Dim var1 As Integer
Dim var2 As Integer
var1 = Range("B2").Value
var12 = Range("B29").Value
Add = var1 + var12
Range("B29").Select
ActiveCell.FormulaR1C1 = Add
Как я уже сказал, это работает и делает именно то, что мне нужно, но это включает в себя много кода и огромный потенциал для ошибок, а также часы написания всего этогоиз.Выглядит не очень хорошо, и еще труднее проследить / проработать.
Кто-нибудь может мне помочь упростить это, сделать его короче?Есть ли возможность суммировать все это в меньшем количестве строк кода, в меньшем количестве аргументов?
Заранее благодарен за любую помощь.
ОБНОВЛЕНИЕ: Как уже упоминалось ранее, код, который у меня сейчас есть, делаетработать, как задумано, но я бы хотел уменьшить громкость.Это слишком много, и я знаю, что можно сделать то же самое с гораздо меньшим, я просто не знаю как.Я структурировал код, чтобы его было немного легче читать: первый раздел объявляет переменные, следующий блок объявляет значения (разделенные на блоки в строке в таблице) и, наконец, вычисляет действие добавления таблицы A в таблицу B иотображение результата в таблице B (опять же, разделенных на блоки на строку в таблице).Спасибо всем за помощь.
Это полный код, написанный на данный момент