Задаци на распореду у програму Екцел ВБА
У наставку ћемо погледати програм Екцел ВБА која поставља боју позадине задаци који су у плану на зелену и поставља боју позадине задатака који су иза распореда до црвене боје.
Ситуација:
На листи1 имамо три задатка (Кс, И, З). "1" означава да је задатак завршен. Задатак је распоређен ако постоји "1" у свакој колони до дана данашњег дана. Данас је то 6-јун. Задаци Кс и И су у плану. Задатак З је иза распореда (нема "1" у ћелији Е8).
Креирајте догађај за промјену радног листа. Код који је додат на радни лист Цханге Евент ће извршити Екцел ВБА када промените ћелију на радном листу.
1. Отворите Висуал Басиц Едитор.
2. Двапут кликните на Схеет1 (Схеет1) у Пројецт Екплорер-у.
3. Изаберите Радни лист са леве падајуће листе. Изаберите Промени са десне падајуће листе.
Додајте следеће линије кода у догађаје Промени радни лист:
4. Објасните две варијабле типа Интегер.
5. Додајте До До Лооп.
i = i + 1
Loop
Објашњење: За и = 0, Екцел ВБА проверава задатак Кс, за и = 1, задатак И итд. Екцел ВБА напушта петље До Вхиле када ћелије (6 + и, 1) .Валуе је празна (нема више задатака за проверу).
Додајте следеће линије кода (на 6, 7 и 8) у До Вхиле Лооп.
6. Иницијализирајте променљиву ј са вредностом 0.
7. Подесите боју позадине задатка зеленом под претпоставком да је задатак у планираном року (ово није обавезно тачно).
8. Додајте још једну док петље.
If Cells(6 + i, 2 + j).Value = 0 Then Cells(6 + i, 1).Interior.ColorIndex = 3
j = j + 1
Loop
Напомена: функција Датум враћа данашњи датум.
Објашњење: За и = 0, ј = 0, Екцел ВБА проверава ћелију Б6. За и = 0, ј = 1, Екцел ВБА проверава ћелију Ц6 итд. Задатак је распоређен ако постоји "1" у свакој колони до дана данашњег датума. Ако Екцел ВБА пронађе "0", поставља боју позадине задатка црвеном бојом.
9. Тестирајте програм. На пример, назначите да је задатак З на 6-јун завршен. Као резултат, задатак З аутоматски постаје зелен.