Как да използвате за всеки следващ цикъл с колекции във VBA Excel 2016

VBA поддържа още един тип зацикляне в Excel 2016: преминаване през всеки обект в колекция от обекти. Колекцията, както може би знаете, се състои от множество обекти от един и същи тип. Например, Excel има колекция от всички отворени работни книги (колекцията Workbooks) и всяка работна книга има колекция от работни листове (колекцията Worksheets).

Когато трябва да преминете през всеки обект в колекция, използвайте структурата For Every-Next. Следният пример преглежда всеки работен лист в активната работна книга и изтрива работния лист, ако е празен:

Sub DeleteEmptySheets()
  Dim WkSht като работен лист
  Application.DisplayAlerts = False
  За всеки WkSht в ActiveWorkbook.Worksheets
    Ако WorksheetFunction.CountA(WkSht.Cells) = 0 Тогава
      WkSht.Delete
    Край, ако
  Следваща WkSht
  Application.DisplayAlerts = Вярно
Край под

В този пример променливата WkSht е обектна променлива, която представлява всеки работен лист в работната книга. Нищо специално за името на променливата WkSht; можете да използвате всяко име на променлива, което искате.

Кодът минава през всеки работен лист и определя празен лист чрез преброяване на непразните клетки. Ако този брой е нула, листът е празен и се изтрива. Забележете, че настройката DisplayAlerts е изключена, докато цикълът върши своето. Без това изявление Excel извежда предупреждение всеки път, когато лист предстои да бъде изтрит.

Ако всички работни листове в работната книга са празни, получавате грешка, когато Excel се опита да изтрие единствения лист. Обикновено бихте написали код за справяне с тази ситуация.

Ето още един пример за всеки следващ. Тази процедура използва цикъл, за да скрие всички работни листове в активната работна книга с изключение на активния лист.

Подскрити листове()
  Dim Sht като работен лист
  За всеки Sht в ActiveWorkbook.Worksheets
    Ако Sht.Name <> ActiveSheet.Name Тогава
      Sht.Visible = xlSheetHidden
    Край, ако
  Следваща Щ
Край под

Процедурата HideSheets проверява името на листа. Ако не е същото като името на активния лист, листът е скрит. Забележете, че свойството Visible не е булева. Това свойство всъщност може да приеме всяка от трите стойности, а Excel предоставя три вградени константи. Ако сте любопитни за третата възможност (xlVeryHidden), проверете системата за помощ.

Това, което става скрито, в крайна сметка трябва да се разкрие, така че ето макрос, който показва всички работни листове в активната работна книга:

Подпоказване на таблици()
  Dim Sht като работен лист
  За всеки Sht в ActiveWorkbook.Worksheets
    Sht.Visible = xlSheetVisible
  Следваща Щ
Край под

Не е изненадващо, че можете да създавате вложени цикли For Every-Next. Процедурата CountBold преминава през всяка клетка в използвания диапазон на всеки работен лист във всяка отворена работна книга и показва броя на клетките, които са форматирани като удебелен шрифт:

Под CountBold()
  Dim WBook като работна тетрадка
  Dim WSheet като работен лист
  Затъмнена клетка като диапазон
  Dim Cnt As Long
  За всяка работна книга в работни тетрадки
    За всеки WSheet в WBook.Worksheets
      За всяка клетка в WSheet.UsedRange
        Ако Cell.Font.Bold = True, тогава Cnt = Cnt + 1
      Следваща клетка
    Следващ WSheet
  Следваща WBook
  MsgBox Cnt & „открити са получерни клетки“
Край под

Как да блокирате Microsoft Word да отваря файлове в режим само за четене в Windows

Как да блокирате Microsoft Word да отваря файлове в режим само за четене в Windows

Как да блокирам Microsoft Word да отваря файлове в режим само за четене в Windows Microsoft Word отваря файлове в режим само за четене, което прави невъзможно редактирането им? Не се притеснявайте, методите са по-долу

Как да коригирате неправилно отпечатване на документи на Microsoft Word

Как да коригирате неправилно отпечатване на документи на Microsoft Word

Как да коригирате грешки при отпечатването на неправилни документи на Microsoft Word Грешките при отпечатването на документи на Word с променени шрифтове, разхвърляни абзаци, липсващ текст или изгубено съдържание са доста чести. Въпреки това недейте

Изтрийте рисунки с писалка и маркер на вашите слайдове на PowerPoint

Изтрийте рисунки с писалка и маркер на вашите слайдове на PowerPoint

Ако сте използвали писалката или маркера, за да рисувате върху слайдовете на PowerPoint по време на презентация, можете да запазите чертежите за следващата презентация или да ги изтриете, така че следващия път, когато го покажете, да започнете с чисти слайдове на PowerPoint. Следвайте тези инструкции, за да изтриете чертежи с писалка и маркери: Изтриване на линии една в […]

Съдържание на библиотеката за стилове в SharePoint 2010

Съдържание на библиотеката за стилове в SharePoint 2010

Библиотеката със стилове съдържа CSS файлове, файлове с разширяем език на стиловия език (XSL) и изображения, използвани от предварително дефинирани главни страници, оформления на страници и контроли в SharePoint 2010. За да намерите CSS файлове в библиотеката със стилове на сайт за публикуване: Изберете Действия на сайта→Преглед Цялото съдържание на сайта. Появява се съдържанието на сайта. Библиотеката Style се намира в […]

Форматирайте числата в хиляди и милиони в отчети на Excel

Форматирайте числата в хиляди и милиони в отчети на Excel

Не затрупвайте аудиторията си с огромни числа. В Microsoft Excel можете да подобрите четливостта на вашите табла за управление и отчети, като форматирате числата си така, че да се показват в хиляди или милиони.

Как да споделяте и следвате сайтове на SharePoint

Как да споделяте и следвате сайтове на SharePoint

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

Как да конвертирате дати в юлиански формати в Excel

Как да конвертирате дати в юлиански формати в Excel

Юлианските дати често се използват в производствени среди като времеви печат и бърза справка за партиден номер. Този тип кодиране на дата позволява на търговците на дребно, потребителите и обслужващите агенти да идентифицират кога е произведен продуктът и по този начин възрастта на продукта. Юлианските дати се използват и в програмирането, военните и астрономията. Различно […]

Как да създадете уеб приложение на Access

Как да създадете уеб приложение на Access

Можете да създадете уеб приложение в Access 2016. И така, какво всъщност е уеб приложение? Е, уеб означава, че е онлайн, а приложението е просто съкращение от „приложение“. Персонализирано уеб приложение е онлайн приложение за база данни, достъпно от облака с помощта на браузър. Вие създавате и поддържате уеб приложението в настолната версия […]

Лента за бързо стартиране в SharePoint 2010

Лента за бързо стартиране в SharePoint 2010

Повечето страници в SharePoint 2010 показват списък с връзки за навигация в лентата за бързо стартиране в лявата част на страницата. Лентата за бързо стартиране показва връзки към представено съдържание на сайта, като списъци, библиотеки, сайтове и страници за публикуване. Лентата за бързо стартиране включва две много важни връзки: Връзка към цялото съдържание на сайта: […]

Какво означават съобщенията за грешка на Solver в Excel?

Какво означават съобщенията за грешка на Solver в Excel?

За прости проблеми Solver в Excel обикновено бързо намира оптималните стойности на променливата Solver за целевата функция. Но в някои случаи Solver има проблеми с намирането на стойностите на променливата Solver, които оптимизират целевата функция. В тези случаи Solver обикновено показва съобщение или съобщение за грешка, което описва или обсъжда проблема, който […]