Как да автоматизираме изпълнението на една по-сложна задача - Част 1

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

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

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

 
Какво е предимството на по-кратката процедура?
По-лесно се откриват логически грешки
Пишат се по-малко инструкции

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

  • Как да  селектираме - още един начин за селектиране

    Райна:

    При натиснат Shift и двукратно кликване на страната на избраната клетка в посоката, в която искаме да се маркира.
    Ако само двукратно кликнем на някоя от страните в тази посока ще се установи курсора в края на областта.

    Димитринка:

    Това е ефектът на селектиране (маркиране) с клавиш Shift: избирате първата клетка, а за да изберете последната от групата последователни клетки използвате клавишната комбинация Shift+[ляв бутон на мишката ].

    Райна:

    Да и така може, но когато е голяма областта и не виждаме последната клетка от групата е удобно да кликнем двукратно върху страната на избраната клетка в посоката,в която искаме да маркираме до края на областта.

    Димитринка:

    Така е, когато работим с големи диапазони, Вашият начин е по-удобен!

    Cvetelina Raykova:

    При мен не се удебелява външната рамка, а само рамката на една клетка, въпреки че процедурата е същата като вашата.

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

    Цветелина, проверете диапазона, за който задавате външната рамка. Предполагам, че сте задали референция само са тази клетка, в която се получава външната рамка.

    Cvetelina Raykova:

    Диапазонът е като при Вас - "Selection", но тъй като това са отделни инструкции, не разпознава кое е "Selection". Ще направя цялото упражнение отначало.
    Повторението не е илишно.

  • Може ли още малко за селектирането?

    Peter:

    Когато търсим последна непразна клетка в колона, операторът на VBA е - Range(Selection, Selection.End(xlDown)). А как стои въпросът със селекция на последна непразна клетка в ред, има ли xlRight? В случая с метода, който предлага Райна, какви ще са VBA изразите /има ли Selection.End.Right.Doubleclick?/. И на края да допълня малко за ClearContents и Delete. ClearContents според мен е по-силно изтриващ от Delete, защото освен съдържанието на клетките изтрива и оцветяването, ако има такова. В такъв смисъл, той е Delete+ още нещо. :)

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

    Здравейте, Петър. Най-лесният начин е като запишете макрос като използвате последователно клавиш End и клавишите-стрелки, за да видите съответните инструкции във VBA. 
    ClearContents и Delete са две различни команди, както във Excel, а така също и във VBA. ClearContents съответства на клавиш Delete - Excel. С него се изтрива това, което е въведено в избраната клетка или диапазон.Командата Delete се изпълнява в Excel от менюто Home --> Cells --> Delete, за да изтрие клетки или цели редове/колони. Във VBA съотвeтната команда (method) е Clear. Ето защо тази команда изтрива съдържанието и формата, т.е. "всичко"!

    Irina:

    За селектирането - чисто клавиатурно, но е свързано с удобство при работа с клавиатурата. Работя с Офис 2007. При мен придвижването и селектирането НЕ е с End-клавиша, а с Ctrl-клавиша + стрелките за движение. В комбинация с Shift-а маркирам. При моята стара версия клавишът End е за режим и работи само за селектиране.в комбинация с Shift. Не работи за преместване до следващата зона в таблицата. По-удобно е с Ctrl - може и с една ръка да се правят комбинациите. Мисля, че и в най-новите версии все още работи. Поне досега не съм сядала на компютър с последната версия на MSOffice, където да не работят дори DOS-овските клавишни комбинации. MS поддържат съвместимост с най-ранните версии на програмите в пакета си. Както и AutoDesk, проверено до версията им 2012.

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

    Здравейте, Ирина, има разлика между последователност от клавиши (End, клавиш-стрелка) и клавишна комбинация (Ctrl + клавиш-стрелка). Така селектирането става и в двата случая с клавиш Shift. Аз използвам последователността Shift + End, клавиш-стрелка, просто навик.

    Irina:

    Благодаря, така написано ми стана по-ясно. И в моята версия на Ексел работи. Въпрос на навик, но винаги е добре човек да знае и други начини.