І знову здрастуйте. Поставив для себе задучу розібратися і відповісти на нагальні питання по роботі з елементом ListBox. Є даний об'єкт, в який програмно заносяться дані в 2 і більше стовпців (у мене до 7-й). Дані беруться з таблиці (об'єкта листа) через .AddItem в циклі від 1 до "Кількість рядків у таблиці" (Rows.Count). Все відпрацьовує коректно. Далі створена динамічна форма яка містить нііменованіе заголовків таблиці, і, визначивши тип даних стовпців, виводить Text і Combo бокси за заданими критеріями. Тут теж все добре. У цій формі хочу задавати параметри відбору створюваного фільтра для даних в ListBox, причому задаються додаткові ознаки "як шукати?" =, <,> для текстових полів "Повна відповідність", "Містить", "Не містить" Далі продумую кілька варіантів здійснення запланованої завдання. 1. Можна за даними встановлених значень свого фільтра, відфільтрувати вихідну таблицю на аркуші Excel використовуючи його фільтри або Автофільтри. Однак тут необхідно кожен рядок перевіряти на властивість видимості, і якщо Так, тоді відправляти рядок в лист бокс. 2. Можна додати допоміжну колонку в таблиці з формулою на перевірку відповідності даних заданим критеріям, і завантажувати в ListBox рядки за ознакою допоміжної колонки, наприклад по позитивного результату формули "+". 3. Можна пункт 2 реалізувати програмно, але тут є обмеження на вкладення вункціі If..then 4. І напевно найпростіший, а значить найбільш "Mb-який займає" і "кнігозасоряющій" на мою думку варіант - виводити дані таблиці в зведену таблицю на поточному або окремому аркуші, на зведену таблицю встановлювати задані фільтри, і просто брати результат зведеної таблиці в лістбокс. Косательно сортування даних, наприклад за алфавітом також можна використовувати фільтри і Автофільтри Excel. Однак в такому випадку в таблиці повинна бути колонка з номером по порядку, для того щоб при знятті фільтрів і сортування, елементи даних можна було повернути на свої місця, відсортувавши таблицю по цій колонці. Цікавить Ваша думка з приводу правильності запропонованих вваріантов симбіозу VBA і Excel в рамках позначеної завдання. Упевнений що далеко не всі варіанти вирішення цього питання мені відомі, але хотілося б скористатися найбільш витонченим способом. Ось тут і прошу Вашої консультації ..
Заповнити кожні 10 осередків випадковими числами в діапазоні від 1 до 90 і розфарбувати їх різними кольорами в наступному порядку: від 1 до 30 - жовтий; від 31 до 60 - синій; від 61 до 90 - зелений.
Добридень! Потрібно написати програму в VBA: Дан текст, слова якого відокремлюються один від одного пробілами. Вивести вихідний текст, таким чином, щоб всі слова, довжиною більше п'яти символів, починалися б з великої літери. Я написав, але у мене виходить що все слова виводить з великої літери, як змінити мій код-формування рядка виводу (саме змінить мій) щоб тільки слова довжиною більше 5 виводило з великої?