Кое е оптималното решение на домашната задача?

Microsoft Excel Електронни таблици Microsoft 365 Excel VBA Програмиране VBA за Excel

Здравейте, искам да ви представя моето частично решение на домашната задача, в която трябва да изчислим комисионната за всеки ред на последната колона и да сметнем общата сума: Sub Komisionna() i = 2 j = 4

While IsEmpty(Cells(i, j))

Cells(i, j) = Cells(i, j - 2) * Cells(i, j - 1) i = i + 1 Wend

'Cells(i, j) = "=SUM(Cells(i-9,j):Cells(i-1,j)"

End Sub

Последният ред от макрото е в коментар, понеже не работи и "бъгва" едитора, но не мога да си обясня защо, съответно бих желал да науча алтернативен метод за използване само на клетки с елементи i, j. Допълнително бих се радвал да видя цели чужди решения на домашната задача, за да видя Вашия начин на мислене :) Благодаря предварително!

Видях отговора в следващото видео. Не съобразих, че ще бъде представен там, както и че трябва да се използват променливи за съхраняване. :)

Здравей, решението, което предлагам е свързано с темата на урока. Разбира се, че могат да се намерят и други решения. Вярното решение е това, което дава коректен резултат. Грешката в кода, който си написал, е в дефинирането на обект Range за сумата. В предишните уроци показах макроси, които записват въвеждане на екселски функции - SUM, AVERAGE (виж урок 6 от модул 2). Или запиши макрос, в който въвеждаш функцията SUM, така веднага ще видиш грешката. Във VBA също се използват вградените екселски функции, но има различен синтаксис и ги разглеждам в следващите модули. Използването на променливи е много важно, за да се научи VBA. Надявам се, че успях да отговоря на въпроса ти.


Вашият отговор

Научи компютърните програми онлайн от топ експертите на България
Регистрацията в АУЛА ви дава:
  • 20 безплатни урока
  • Трикове и тънкости за софтуера
  • Отговори на вашите въпроси
  • Регистрация