Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Выбрать дату в календареВыбрать дату в календаре

Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 97 След.
Умные таблицы. Как быстро определить, есть ли в ней данные, Как быстро определить, пустая ли умная таблица
 
Код
Option Explicit
Sub ОпределитьЗаполненностьУТ()
Dim tbl As ListObject: Set tbl = ActiveSheet.ListObjects(1)
' Выбирай любой
'MsgBox WorksheetFunction.CountA(tbl) '- НЕ СРАБОТАЕТ. Всегда выдаёт 1

'MsgBox ActiveSheet.ListObjects(1).ListRows.Count
'MsgBox Not ActiveSheet.ListObjects(1).InsertRowRange Is Nothing
'MsgBox ActiveSheet.ListObjects(1).DataBodyRange Is Nothing
End Sub
любопытно, что после удаления строк (очистка таблицы) или начала ввода (заполнение) даже не обязательно выполнять пересчёт (проверил для всех 3х методов)
Цитата
Казанский: Если есть хоть одна строка с формулой, то этот диапазон уже не Nothing
ну тут опять же нужно прояснить, что, когда все строки удалены, то формулы как-бы нет (не видно), но она как-бы есть (т.к. при вводе данных, всё считается).
«Тот, кто несет фонарь, спотыкается чаще, чем тот, кто идет следом.»
Иоганн Пауль Фридрих Рихтер
Как правильно обратиться к диапазону из VBA
 
Цитата
Дмитрий Князев:оно неверно
оно верно, просто вы не знаете матчасть (читайте по ссылке) и ошибочно предполагаете, что ваши Cells соответствуют вашему Range
«Тот, кто несет фонарь, спотыкается чаще, чем тот, кто идет следом.»
Иоганн Пауль Фридрих Рихтер
Умные таблицы. Как быстро определить, есть ли в ней данные, Как быстро определить, пустая ли умная таблица
 
Казанский, прошу прощения - не увидел… MsgBox ActiveSheet.ListObjects(1).DataBodyRange Is Nothing — тоже работает :idea:
Андрей VG, оба варианта сработали! Спасибо!
Цитата
Андрей VG: как ухитриться
:D ну конечно я имел ввиду, что выделяю весь столбец без шапки и удаляю все строки УТ

Dark1589, вопрос не в этом)) это я так - для общего развития показал)
Изменено: Jack Famous - 18 Апр 2019 12:47:34
«Тот, кто несет фонарь, спотыкается чаще, чем тот, кто идет следом.»
Иоганн Пауль Фридрих Рихтер
Умные таблицы. Как быстро определить, есть ли в ней данные, Как быстро определить, пустая ли умная таблица
 
БМВ, не всё так просто))) выдаёт 1 (из-за формулы, подозреваю)
Код
Sub ОпределитьЗаполненностьУТ()
Dim tbl As ListObject
Set tbl = ActiveSheet.ListObjects(1)
MsgBox WorksheetFunction.CountA(tbl)
End Sub
«Тот, кто несет фонарь, спотыкается чаще, чем тот, кто идет следом.»
Иоганн Пауль Фридрих Рихтер
Умные таблицы. Как быстро определить, есть ли в ней данные, Как быстро определить, пустая ли умная таблица
 
Sanja,
1. УТ с 2мя сполями с числами и 3им с формулой
2. Удаляем все строки любого из полей (в примере - второго)
3. В ячейке с формулой формулы типа нет (не отображается), но если я начну вводить данные в столбец 1 или 2, то она появится

Это не проблема, это фича, но вопрос-то в другом - можно ли определить (каким-то параметром или свойством УТ) пустая ли она или же в ней есть данные/константы (не формулы). Типа, 1 строка будет и в том и в другом случае… Перебор, CountA и SpecialCells(xlTypeConstants) — это понятно
Изменено: Jack Famous - 18 Апр 2019 12:32:56
«Тот, кто несет фонарь, спотыкается чаще, чем тот, кто идет следом.»
Иоганн Пауль Фридрих Рихтер
Как правильно обратиться к диапазону из VBA
 
Дмитрий Князев, матчасть с ответом

Синтаксис объекта Range: Range(Cell1, Cell2) — всего 2 аргумента, представляющих собой ОТКУДА (левый верхний угол диапазона)и ДОКУДА (правый нижний).
Для объединения нескольких диапазонов используется оператор Application.Union()

Тема: "Как правильно обратиться к диапазону из VBA"
Изменено: Jack Famous - 18 Апр 2019 12:23:50
«Тот, кто несет фонарь, спотыкается чаще, чем тот, кто идет следом.»
Иоганн Пауль Фридрих Рихтер
Умные таблицы. Как быстро определить, есть ли в ней данные, Как быстро определить, пустая ли умная таблица
 
Доброго времени суток, Планетяне!

Если в пустой умной таблице (УТ) удалить все строки любого поля, то в ней всё равно останется 1 строка под шапкой.
Если в УТ есть поля с формулами, то при удалении всех строк (одна останется), формулы тоже ОТОБРАЖАТЬСЯ не будут, но, стоит начать её (УТ) заполнять, то всё вернётся.
Если в УТ более 1 строки, то она заполнена (не пустая) и далее я проверяю поля на корректность заполнения.
Если в УТ 1 строка, то она или пустая или заполненная.

Как наиболее быстро определить, пустая ли УТ или заполнена 1 строка?
Разумеется можно через =СЧИТАТЬПУСТОТЫ() и иже с ними, но может есть у неё (УТ) какой-нибудь параметр или подскажете трюк/костыль…

Решение больше нужно для VBA, но устроит любая подсказка
Изменено: Jack Famous - 18 Апр 2019 12:03:02
«Тот, кто несет фонарь, спотыкается чаще, чем тот, кто идет следом.»
Иоганн Пауль Фридрих Рихтер
Анекдот дня, Постим сюда понравившиеся:)
 
1. Когда компания планирует большой релиз, но кто-то оставил название продукта в коде страницы (выделено "cx5-diesel")
2, 3, 4 и 5
Изменено: Jack Famous - 17 Апр 2019 13:24:18
«Тот, кто несет фонарь, спотыкается чаще, чем тот, кто идет следом.»
Иоганн Пауль Фридрих Рихтер
Получение списка уникальных значений из одномерного массива VBA
 
Anchoret, и снова  я  :D приветствую!
Более корректное использование словаря и он снова в деле
КОДЫ
Изменено: Jack Famous - 16 Апр 2019 18:51:09
«Тот, кто несет фонарь, спотыкается чаще, чем тот, кто идет следом.»
Иоганн Пауль Фридрих Рихтер
Найти определенную ячейку и заменить значение в ней на новое значение, Найти определенную ячейку и заменить значение в ней на новое значение
 
Audit951, пожалуйста  ;)
«Тот, кто несет фонарь, спотыкается чаще, чем тот, кто идет следом.»
Иоганн Пауль Фридрих Рихтер
Как ускорить вывод данных из массива на лист
 
Цитата
Джек Восмеркин: Worksheet_Change на листе нет
зато есть Worksheet_Activate  — без неё выводит мгновенно  :D

В модуле листа «Sheet 1» (на который выводится)
Исполнительный макрос
коды привёл, чтобы остальным можно было тут посмотреть и не лезть в файл
Изменено: Jack Famous - 16 Апр 2019 18:17:54
«Тот, кто несет фонарь, спотыкается чаще, чем тот, кто идет следом.»
Иоганн Пауль Фридрих Рихтер
Как ускорить вывод данных из массива на лист
 
vikttur, я это знаю))) и это, наверное, единственный логически обоснованный вариант. Однако, если человек создаёт тему "Как ускорить вывод данных из массива на лист" (когда это одна операция и можно её только "замедлить", выводя в цикле), то хотелось бы узнать его версию  :D
«Тот, кто несет фонарь, спотыкается чаще, чем тот, кто идет следом.»
Иоганн Пауль Фридрих Рихтер
Найти определенную ячейку и заменить значение в ней на новое значение, Найти определенную ячейку и заменить значение в ней на новое значение
 
Audit951, В макросе нужно писать то, что он должен делать  ;)
А вообще у вас такой геморройный файл, что, по-хорошему, тут надо всё снести и делать заново правильно. А то ещё очень много "а как теперь" дальше вылезет. Блин, да у вас кросс-таблица с массивными формулами — это алес  :D
Ну а пока что вот такие макросы тестируйте (первый - для обучения):
Изменено: Jack Famous - 16 Апр 2019 16:40:28
«Тот, кто несет фонарь, спотыкается чаще, чем тот, кто идет следом.»
Иоганн Пауль Фридрих Рихтер
Как ускорить вывод данных из массива на лист
 
ну и ко всем прочим замечаниям: зачем отдельные переменные для ресайза, если можно ресайзить точно по границам массива??? Sheets("Sheet1").Cells(6, 1).Resize(UBound(Result,1), UBound(Result,2)).Value = Result
Цитата
Джек Восмеркин: Но не полчаса же их вставлять...)))
а вы можете и дальше файл-пример не показывать и гадать — тоже вариант
Изменено: Jack Famous - 16 Апр 2019 15:49:02
«Тот, кто несет фонарь, спотыкается чаще, чем тот, кто идет следом.»
Иоганн Пауль Фридрих Рихтер
создать макрос удаления дубликатов по 70-80% совпадения символов
 
Ігор Гончаренко,  :D
да и в принципе это всё оффтоп, т.к. название темы не соответствует тому, что нужно ТСу)))
да и вообще непонятно, что ему нужно. Посмотрел видео на ютубе, где он шириной столбца показывает "алгоритм" работы программы, орнул и дизу поставил  :D
Сколько Андрей ни старался…
«Тот, кто несет фонарь, спотыкается чаще, чем тот, кто идет следом.»
Иоганн Пауль Фридрих Рихтер
создать макрос удаления дубликатов по 70-80% совпадения символов
 
Fsociety_, в Excel есть Fuzzy Lookup — встроенный бесплатный и ОЧЕНЬ мощный инструмент для нечёткого поиска. Там же определяется степень "похожести" строк (только не как вы объясняли с корнями и прочим, а более просто). Возможно, вам этого хватит
«Тот, кто несет фонарь, спотыкается чаще, чем тот, кто идет следом.»
Иоганн Пауль Фридрих Рихтер
Подсчет времени
 
Цитата
katealex: сводную сделать и чтобы всё отражалось в формате время
в примере ничего про это не нарисовано…
В сводной можно настроить формат, также, как и в обычной ячейке или, на худой конец, использовать функцию =ТЕКСТ() для отображения времени в виде текста
«Тот, кто несет фонарь, спотыкается чаще, чем тот, кто идет следом.»
Иоганн Пауль Фридрих Рихтер
Комбинация CRTL + Shift + L (Фильтр) не работает, Комбинация горячих клавиш CRTL + Shift + L (Фильтр) не работает
 
SuxrobRKO,
1. Добавляем инструмент на ПНД (панель быстрого доступа)
2. В настройках ПНД перемещаем фильтр повыше (у меня 3е место на панели)
3. Теперь комбинация "Alt + (место на панели)" включает и выключает фильтр
«Тот, кто несет фонарь, спотыкается чаще, чем тот, кто идет следом.»
Иоганн Пауль Фридрих Рихтер
Перечень (список) всех "Приёмов" из сайта PlanetaExcel.ru со ссылками в одной таблице
 
Доброго времени суток, Планетяне!
Понадобилось для сотрудников компании сделать перечень всех приёмов для удобного поиска и навигации…
Спарсил. Делюсь  :)

P.S.: столбцы "D" и "E" скрыты
Изменено: Jack Famous - 10 Апр 2019 15:44:56
«Тот, кто несет фонарь, спотыкается чаще, чем тот, кто идет следом.»
Иоганн Пауль Фридрих Рихтер
Работа с текстом, выделенном в ячейке
 
Цитата
pazhar: Каким образом в переменную я могу получить ту часть текста, которую пользователь выделил в активной ячейке перед запуском макроса?
не уверен на 100%, но, вроде, запуск макроса, находясь в строке формул, невозможен.
Можно просить пользователя скопировать выделенные данные (Ctrl+C) в буфер и брать из буфера, например, но это мрак.
Почему вам просто не использовать метод из #3
«Тот, кто несет фонарь, спотыкается чаще, чем тот, кто идет следом.»
Иоганн Пауль Фридрих Рихтер
Анекдот дня, Постим сюда понравившиеся:)
 
Dima S, 5 стадия — понял, что у миллионов людей по всему миру нет такого Java-приложения. Продолжаю учить VBA  :D
«Тот, кто несет фонарь, спотыкается чаще, чем тот, кто идет следом.»
Иоганн Пауль Фридрих Рихтер
Какую базу данных сейчас перспективнее изучать новичку
 
Цитата
Ливиан: Базу Данных
как по мне, это SQL по-определению. А вот Рассуждений на тему, какую базу данных (SQL) выбирать — полно))
Изменено: Jack Famous - 10 Апр 2019 08:44:54
«Тот, кто несет фонарь, спотыкается чаще, чем тот, кто идет следом.»
Иоганн Пауль Фридрих Рихтер
Объясните мне пожалуйста, как работает InStrRev?
 
Я, помнится, тоже полчаса гуглил, пока не допёр  :D
Часто эта функция используется для поиска/отсечения расширения файла (первой точки справа)…
Изменено: Jack Famous - 10 Апр 2019 08:42:39
«Тот, кто несет фонарь, спотыкается чаще, чем тот, кто идет следом.»
Иоганн Пауль Фридрих Рихтер
Обновление 05.09.2018г.
 
БМВ, с другой стороны — это последнее вышедшее обновление и все вопросы по работа сайта к нему. Разве нет?))
До того, как мне сказали, что это просто чудак с символами балуется, я думал, что это форум глючит.
Изменено: Jack Famous - 10 Апр 2019 08:34:16
«Тот, кто несет фонарь, спотыкается чаще, чем тот, кто идет следом.»
Иоганн Пауль Фридрих Рихтер
Обновление 05.09.2018г.
 
Провёл анализ и выявил список символов AscW, которые нужно заменить (+можно Asc(173) "минус" тоже заменить)
Список символов AscW (УНИКАЛЬНЫЙ)
Символы содержатся в полях "никнейм", "профессия" и "интересы"
Изменено: Jack Famous - 9 Апр 2019 09:41:23
«Тот, кто несет фонарь, спотыкается чаще, чем тот, кто идет следом.»
Иоганн Пауль Фридрих Рихтер
Excel VBA расчет в массиве, Расчет в массиве с помощью VBA
 
Станислав Вьюжанин, писать в личку за помощью совсем не обязательно (и на "ты" мы не переходили) - ваш вопрос решается в этой теме.
Sanja как мог пытался вам помочь, но вы не реагируете ни на его, ни на мои замечания.
С таким подходом ждите других помощников (если тему вообще оставят)
«Тот, кто несет фонарь, спотыкается чаще, чем тот, кто идет следом.»
Иоганн Пауль Фридрих Рихтер
Excel VBA расчет в массиве, Расчет в массиве с помощью VBA
 
Станислав Вьюжанин, без матчасти одним "тыканьем" вы далеко не уйдёте
LBound и UBound действительно функции, определяющие нижнюю и верхнюю границы массива соответственно.
Двумерный массив потому и двумерный, что содержит 2 измерения. Если массив сформирован с листа, то он будет двухмерным и (условно) можно сказать, что UBound(arr,1) - это количество строк в таком массиве, а UBound(arr,2) - столбцов. LBound'ы же в таком случае (массив с листа) будут равны единицам.

До исправления некорректного цитирования (как уже указал Sanja) помощь вам будет ограничена, а тема может быть удалена. Модераторы этого не любят (и правильно делают)  ;)
«Тот, кто несет фонарь, спотыкается чаще, чем тот, кто идет следом.»
Иоганн Пауль Фридрих Рихтер
Обновление 05.09.2018г.
 
Alemox, см #116 — это чудак falmrom балуется
Изменено: Jack Famous - 3 Апр 2019 08:27:37
«Тот, кто несет фонарь, спотыкается чаще, чем тот, кто идет следом.»
Иоганн Пауль Фридрих Рихтер
Обновление 05.09.2018г.
 
sokol92, точно  :idea:
«Тот, кто несет фонарь, спотыкается чаще, чем тот, кто идет следом.»
Иоганн Пауль Фридрих Рихтер
Обновление 05.09.2018г.
 
Артефакты)
«Тот, кто несет фонарь, спотыкается чаще, чем тот, кто идет следом.»
Иоганн Пауль Фридрих Рихтер
Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 97 След.
Наверх