Как да изпълним условно форматиране за обект Range - блок-оператор IF

Безплатни 20 урока
регистрирай се и научи

Ако сте вече потребител - Регистриран съм
Видео

Тест за преминаване към следващия урок

 
Блок-оператор IF проверява дали е изпълнено условието:
Твърдението е вярно
Твърдението НЕ е вярно
 
Блок-оператор While не може да включва блок-оператор IF
Твърдението НЕ е вярно
Твърдението е вярно

Въпроси и отговори

  • Как да спре повтарянето на действието

    Cvetelina Raykova:

    Здравейте,след като изпълните процедурата "Check_numbers" при повторно изпълнение на процедурата, не се изчисляват пак сумата на продажбите и комисионната, а в моята процедура се изчисляват отново и отново на следващите редове. Не мога да разбера защо.

    Димитринка Вълкова:

    Цветелина, дали сте включили блок-оператор While? Но за да Ви отговоря по-конкретно, изпратете ми процедурата, която сте написали. 

    Cvetelina Raykova:

    Ето каква е процедурата:

    Димитринка Вълкова:

    Ето къде е проблемът -  сумира колони Продажба и Комисионна при всяко изпълнение на процедурата:
    Променлива а използваш за редовете, а променлива b - за колоните; b=2 и в блок-оператор While проверяваш 2-рата колона; в същата колона добавяш сумата. Затова при всяко изпълнение се добавя сума.
    За да решиш този проблем, трябва променлива b=1, т.е. да проверяваш колона А. Смятам, че това ще реши проблема, опитай!

    Cvetelina Raykova:

    Благодаря, ще опитам.

  • Защо е нужно j+1 и j+3 ?

    Ана Йонкова:

    Тъй като колона 2 и 4 не се променят можем директно да запишем вместо j+1 2 и вместо j+3 4. Аз пробвах и процедурите си работят. Мисля, че е по-ясно.

    Димитринка Вълкова:

    Обект Range може да се дефинира по различни начини. В уроците имам възможност да покажа едно решение, а Вие сте намерили друго, което също работи. Това е целта на примерите, които давам, да тествате и да намерите различни работещи решения :-)

  • Как да променя на визуализацията на редактора на VBA

    Mira:

    Здравейте, редактора на VBA при мен има следния изглед как да променя визуализацията, както е в уроците?

    Христина Машева:

    Здравейте, мисля че проблема идва от две отметки, които трябва да сложите. Влезте в редактора на VBA след това Tools/ Options... и стъпките от снимката. Реално това са ви Project Explorer и Properties Window, които трябва да "закачите" да не мърдат :)

    Димитринка Вълкова:

    А може да опитате и по този начин: с десния бутон върху прозореца, например Project Window, да изберете Docking.

    Mira:

    Всички отметки са си чекнати, пробвах с демаркиране и отново маркиране, но не помогна. С десния бутон излиза отметка Dockable и с нея не се получава желания резултат

    Димитринка Вълкова:

    Опитайте следните стъпки: 1. Максимизирайте прозореца на VBE. 2. С левия бутон на мишката, някъде върху средата на заглавния ред на Project Window движете прозореца към горния ляв край на прозореца. Ако Project Window не се вижда, с Ctrl+R или команда VIew на редактора трябва да се покаже. 3. Когато местите прозореца, обърнете внимание, той е в рамка с дебела линия. Когато се намери подходяща позиция за прозореца, тази линия става тънка. В този момент пускате мишката 4. По същия начин се избира подходяща позиция и за Property Window.

    Надявам се, че това ще помогне.

    Mira:

    Много благодаря. Получи се.

  • Как да поправя макроса да работи правилно?

    Валентина Слабакова:

    Здравейте, преди време записах един макрос и като го изпълнявам с бутон за бърз достъп от лентата, ми дава грешка, че макроса не е достъпен, а макроса е записан в личната папка с всички други макроси, а като отворя макроса с Alt + F11 и го изпълня стъпка по стъпка, няма проблем да се изпълни. Къде е грешката?

    Sub BestelldatumExportListe()

    '

    ' DateExportList Macro

    ' vlookup за дата

    Worksheets("export-2").Activate
    
    Range("H2").Select
    
    Range("H2").FormulaR1C1 = "=VLOOKUP(RC[-5],'PO all'!C[-5]:C[-4],2,0)"
    
    Range("H2").Select
    
    Selection.NumberFormat = "m/d/yyyy"
    
    LastRow = ActiveSheet.Cells(Rows.Count, "A").End(xlUp).Row
    

    'namira posleden red v A

    ActiveSheet.Range("H2:H" & LastRow).FormulaR1C1 = "=VLOOKUP(RC[-5],'PO all'!C[-5]:C[-4],2,0)"

    End Sub

    Благодаря предварително!

    Димитринка Вълкова:

    Валентина, под лична папка сигурно имате пред вид Personal Macro Workbook? Проверете дали иконката в лентата за бърз достъп е свързана с този макрос.

    Валентина Слабакова:

    Здравейте, презаписах макроса и проблема се оправи. Благодаря за отделеното време!