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

Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 93 След.
Пополнение массива из отфильтрованного диапазона
 
здравствуйте!
Цитата
IgorBoot: заполнение массива из отфильтрованного диапазона
ну, во-первых, вы забыли ".Value" или ".Value2" в конце. Во-вторых: НЕТ (к сожалению) — махом забрать в массив "рваный" диапазон нельзя.

Варианты: 1. "В ЛОБ": цикл по областям
Из диапазона в одномерный массив
2. вариант от Nordheim - самый быстрый. К слову, я такой же принцип использую для удаления строк. Общий принцип - забрать всё в массив, удалить все строки обычного диапазона или умной таблицы, "отфильтровать" массив в памяти. выгрузить отфильтрованный массив обратно на лист. Скорость подробно не замерял, но, на примере моих таблиц заметнор быстрее прогрессивных методов от ZVI (а это значит очень быстро) типа "создай столбец с признаком + отсортируй по нему + удали N строк от 2ой строки + удали столбец с признаком"
Изменено: Jack Famous - 20 Фев 2019 15:43:38
«Тот, кто несет фонарь, спотыкается чаще, чем тот, кто идет следом.»
Иоганн Пауль Фридрих Рихтер
удаление листов из книги вне списка/столбца значений макрос
 
SAS888, быстро и просто  :idea:
«Тот, кто несет фонарь, спотыкается чаще, чем тот, кто идет следом.»
Иоганн Пауль Фридрих Рихтер
удаление листов из книги вне списка/столбца значений макрос
 
Tesla_LOLa, спасибо и вам  :)
«Тот, кто несет фонарь, спотыкается чаще, чем тот, кто идет следом.»
Иоганн Пауль Фридрих Рихтер
удаление листов из книги вне списка/столбца значений макрос
 
Tesla_LOLa, здравствуйте! Попробую себя в роли учителя…

Задача разбивается на две подзадачи: получение списка "разрешённых" листов и удаление "неразрешённых" листов. В таком случае, возможно, имеете смысл обойтись без первого шага с формированием списка и сразу перейти к удалению листов в цикле по критерию (тому же, который бы служил для создания списка "разрешённых").

Что я имею ввиду: допустим, вам нужно ОСТАВИТЬ только те листы, название которых начинается на "ОСТАВИТЬ_". Вместо того, чтобы формировать список по этому критерию, можно сразу устроить цикл с проверкой по критерию.

НО В данном случае никаких догадок я делать не буду и рассматриваем "как есть", поэтому вот вам 2 макроса (простой и сложный) с комментариями:
КОД
спрашивайте, что непонятно  ;)

Ссылки:
Последняя ячейка на листе
InStr (можно и Like)
Массивы
Словари (тут не использованы)
Изменено: Jack Famous - 19 Фев 2019 18:03:53
«Тот, кто несет фонарь, спотыкается чаще, чем тот, кто идет следом.»
Иоганн Пауль Фридрих Рихтер
Сгенерировать случайные неповторяющиеся числа
 
OFF
said.makhmudov, "случайность" теряется при введении правил. Помнится, старина Джобс сказал: «Нам пришлось сделать iPod менее случайным, чтобы он казался более случайным» (о том, чтобы стоящие рядом композиции не воспроизводились подряд)  ;)  Решение вам уже дали)
Изменено: Jack Famous - 19 Фев 2019 11:54:04
«Тот, кто несет фонарь, спотыкается чаще, чем тот, кто идет следом.»
Иоганн Пауль Фридрих Рихтер
Покрасить ячейки по названию
 
fedes1, если "участники" суммирования выбираются вручную и правила никакого по их выбору нет, то я пас
«Тот, кто несет фонарь, спотыкается чаще, чем тот, кто идет следом.»
Иоганн Пауль Фридрих Рихтер
Покрасить ячейки по названию
 
fedes1, то есть нужно покрасить те ячейки, которые участвуют в суммировании… Участники суммирования определяются по какому-то правилу?
Изменено: Jack Famous - 18 Фев 2019 17:30:37
«Тот, кто несет фонарь, спотыкается чаще, чем тот, кто идет следом.»
Иоганн Пауль Фридрих Рихтер
Покрасить ячейки по названию
 
fedes1, вам говорят, что НЕПОНЯТНО, что вы хотите, потому что ни ФОРМУЛЫ УФ не написано, ни ФАЙЛА-примера
«Тот, кто несет фонарь, спотыкается чаще, чем тот, кто идет следом.»
Иоганн Пауль Фридрих Рихтер
Определить первое место по времени
 
OFF
Цитата
Юрий М: Найден
был пацан — и нет пацана…
у меня на работе часто такая ерунда: иди туда, не знаю куда, принеси то, не знаю что. Не можешь? Идиот, значит и ЗП свою зря получаешь  :D
Изменено: Jack Famous - 18 Фев 2019 15:45:18
«Тот, кто несет фонарь, спотыкается чаще, чем тот, кто идет следом.»
Иоганн Пауль Фридрих Рихтер
биржа VBA
 
По нику ТС можно подумать, что имеется ввиду вполне конкретная площадка, не связанная с программированием  ;)
«Тот, кто несет фонарь, спотыкается чаще, чем тот, кто идет следом.»
Иоганн Пауль Фридрих Рихтер
Делимся..., разным
 
Цитата
БМВ: вспоминаем классику живописи
вспомнил олимпиады по матеше  :D

Интересные методы предлагаете, господа  :idea:
я бы (не зная других) решал методом от Мартын в #720 — это самое очевидное преобразование, наверное…
«Тот, кто несет фонарь, спотыкается чаще, чем тот, кто идет следом.»
Иоганн Пауль Фридрих Рихтер
Анекдот дня, Постим сюда понравившиеся:)
 
Цитата
БМВ: SIX-PACK
мне всегда нравилась игра слов — особенно зарубежные примеры  :D

Про двигатель на спирте…
В моём любимом шоу "Разрушители легенд" есть выпуск о самогоне. В нём они (разрушители) показывают, что даже движок без доработок способен ехать на самогоне. После небольших изменений вообще проблем не будет.

Тэги для поиска: "разрушители легенд самогонщики"
«Тот, кто несет фонарь, спотыкается чаще, чем тот, кто идет следом.»
Иоганн Пауль Фридрих Рихтер
Как удалить пробелы в числе, чтобы оно превратилось из текста в число, VBA макрос удалить пробелы в числе, чтобы оно превратилось из текста в число
 
Цитата
pencil.p: как можно удалить всё, кроме цифр из ячейки?
ващет, это уже другая тема, но т.к.
Цитата
Дмитрий(The_Prist) Щербаков: тема в принципе поднималась не один раз и пережевана уже в лоскуты
, то у Дмитрия на сайте имеются отличные мануалы, либо поиск по интернетам приведённой мной цитаты ваших слов  ;)
Изменено: Jack Famous - 14 Фев 2019 14:02:30
«Тот, кто несет фонарь, спотыкается чаще, чем тот, кто идет следом.»
Иоганн Пауль Фридрих Рихтер
[ Закрыто] Альтернатива РАЗНДАТ обычными формулами
 
OFF: ADimov, давно …
Цитата
Сергей: … уже смахивает на какую то х...ню
:D  :D  :D
Изменено: Jack Famous - 13 Фев 2019 10:21:50
«Тот, кто несет фонарь, спотыкается чаще, чем тот, кто идет следом.»
Иоганн Пауль Фридрих Рихтер
Подсвечивать ячейки, куда необходимо внести данные
 
Аксиния, тогда всё норм. УФ ориентируется на столбец-признак («E» в вашем случае и «A» в моём примере). Примените правила УФ из скрина и примера к своему варианту.
«Тот, кто несет фонарь, спотыкается чаще, чем тот, кто идет следом.»
Иоганн Пауль Фридрих Рихтер
Подсвечивать ячейки, куда необходимо внести данные
 
Цитата
Аксиния: изначально значений не будет, чтобы внести эти значения в журнал, мне и нужен цвет ячеек
а чтобы кто-то (или что-то типа макроса) проставил этот цвет, ему нужно знать, какой проставлять и в зависимочти от чего - разве не так? Можно, конечно, просто рандомно цвета раскидать и проставляйте по ним  :D
Цитата
Аксиния: изначально значений не будет … если "дон", то зеленый
так, если значений не будет, то как зелёный проставить?… Определитесь, что вам нужно уже и не противоречьте сами себе.
Изменено: Jack Famous - 13 Фев 2019 09:05:27
«Тот, кто несет фонарь, спотыкается чаще, чем тот, кто идет следом.»
Иоганн Пауль Фридрих Рихтер
Подсвечивать ячейки, куда необходимо внести данные
 
Аксиния, доброго утра! Пример с Условным Форматированием (УФ)
«Тот, кто несет фонарь, спотыкается чаще, чем тот, кто идет следом.»
Иоганн Пауль Фридрих Рихтер
Делимся..., разным
 
БМВ, расчёт площади фигуры - топ  :D  :D  :D
«Тот, кто несет фонарь, спотыкается чаще, чем тот, кто идет следом.»
Иоганн Пауль Фридрих Рихтер
TRIM CLEAN для VBA
 
sokol92, ну лично я таких зверей не использую. Меньше знаешь — крепче спишь  :D
А за пример, спасибо)
«Тот, кто несет фонарь, спотыкается чаще, чем тот, кто идет следом.»
Иоганн Пауль Фридрих Рихтер
TRIM CLEAN для VBA
 
Итого:
Trim - удаляет только ведущие и хвостовые пробелы, не трогая внутренние
Application.WorksheetFunction.Trim = WorksheetFunction.Trim - "сжимает" ВСЕ пробелы
Application.Trim - "сжимает" ВСЕ пробелы + работает с массивами (лидер рейтинга)
«Тот, кто несет фонарь, спотыкается чаще, чем тот, кто идет следом.»
Иоганн Пауль Фридрих Рихтер
TRIM CLEAN для VBA
 
Inexsu, у меня в Immediate пишет "121", что подтверждает слова БМВ о корректности сжимания всех двойных и ведущих/хвостовых пробелов…
«Тот, кто несет фонарь, спотыкается чаще, чем тот, кто идет следом.»
Иоганн Пауль Фридрих Рихтер
TRIM CLEAN для VBA
 
Доверяй, но проверяй))
Казанский, БМВ, спасибо за инфу - всё работает:
Код
Sub t()
Dim rng As Range, arr, temp
arr = [a1:a20].Value2
temp = Application.Trim(arr)
Set rng = [c1:c20]: rng.Value2 = "": rng.Value2 = temp
End Sub
вывод: перехожу на Application.Trim ввиду большей универсальности (сжимает пробелы по всей строке и работает с массивами)  :D
Изменено: Jack Famous - 11 Фев 2019 12:24:37
«Тот, кто несет фонарь, спотыкается чаще, чем тот, кто идет следом.»
Иоганн Пауль Фридрих Рихтер
TRIM CLEAN для VBA
 
vikttur, могу быть неправ, но Application.WorksheetFunction.Trim = WorksheetFunction.Trim, но Application.Trim = Trim <> WorksheetFunction.Trim (а значит не чистит пробелы внутри слов).
В любом случае, предпочитаю указывать WorksheetFunction, если использую функцию листа — для точности.
Изменено: Jack Famous - 11 Фев 2019 11:29:05
«Тот, кто несет фонарь, спотыкается чаще, чем тот, кто идет следом.»
Иоганн Пауль Фридрих Рихтер
TRIM CLEAN для VBA
 
Alexandr Dumanetskiy, здравствуйте!. Заменяйте неразрывные пробелы на обычные ПЕРЕД Trim'ом, а не после и используйте WorksheetFunction.Trim, а не Application.Trim
«Тот, кто несет фонарь, спотыкается чаще, чем тот, кто идет следом.»
Иоганн Пауль Фридрих Рихтер
Создания выпадающего списка с поиском
 
maribeli, здравствуйте. Пользовательская форма с поиском
«Тот, кто несет фонарь, спотыкается чаще, чем тот, кто идет следом.»
Иоганн Пауль Фридрих Рихтер
Окно с вводом данных в переменную
 
NewMaestro, сперва читаем про диалоги и их виды. Лично я рекомендую именно Application.InputBox в примерно таком виде (не тестил):
Код
Sub UserInput()
Dim temp 'используем универсальную переменную для текста и чисел
'… какой-то ваш код

temp = Application.InputBox("Текст формы", "Заголовок формы (Запрос ИМЕНИ пользователя)", "значение по-умолчанию", Type:=2)
If temp = "False" Then Exit Sub 'выходим, если нажат крестик или отмена

'пример проверки введённого числа на корректность и его последующее преобразование из текста в число:
On Error Resume Next: temp=--temp 'отключаем выскакивание окон с ошибками и выполняем преобразование числа-как-текст в реальное число
If Err.Number>0 Then Exit Sub 'выходим, если преобразование числа не удалось (пользователь ввёл НЕ число)
On Error GoTo 0 'возвращаем обработчик ошибок в строй

'… какой-то ваш код
End Sub
Изменено: Jack Famous - 8 Фев 2019 16:52:31
«Тот, кто несет фонарь, спотыкается чаще, чем тот, кто идет следом.»
Иоганн Пауль Фридрих Рихтер
Падение производительности Excel. Перезапуск решает проблему.
 
Inexsu, просто и надёжно - попробую) Спасибо!

UPD: Менее 0,1 сек (на каждую) вставляет в среднем первые 700 строк. Повторный запуск "без отдыха" позволяет вставить ещё 50 строк. Отдых в 5 сек. даёт вставить 100 строк. Пересчёт (автопересчёт в книге отключен) перед повторным запуском или удаление вставленных строк позволяет снова вставить около 700 строк.
За минуту вставляет около 900 строк. Что 700, что 900 - далеко за пределами реального количества строк, после которого комп начинает тупить…
Изменено: Jack Famous - 1 Фев 2019 10:28:04
«Тот, кто несет фонарь, спотыкается чаще, чем тот, кто идет следом.»
Иоганн Пауль Фридрих Рихтер
Падение производительности Excel. Перезапуск решает проблему.
 
sokol92, приветствую, Владимир! Первый скрин (xlMemoryBegin) сделан сразу после запуска файла, а второй (xlMemoryEnd) — перед закрытием файла, в период тормозов. Файл не то, чтобы нерабочий, но вставка/удаление строки в "умную" таблицу занимает секунд 5. Так как это самый основной процесс работы в этом файле, то неудобненько)))
Цитата
Inexsu: Пробовали зациклить
типа дело не во времени, а в количестве вставок/удалений? Не пробовал… Может сработать, наверное. Сколько итераций поставить посоветуете?

P.S.: обнаружил какие-то вычислительные контейнеры в процессах
Изменено: Jack Famous - 31 Янв 2019 19:31:05
«Тот, кто несет фонарь, спотыкается чаще, чем тот, кто идет следом.»
Иоганн Пауль Фридрих Рихтер
Падение производительности Excel. Перезапуск решает проблему.
 
Юрий М, готово. Вроде нет особой разницы…
Изменено: Jack Famous - 31 Янв 2019 17:13:14
«Тот, кто несет фонарь, спотыкается чаще, чем тот, кто идет следом.»
Иоганн Пауль Фридрих Рихтер
Падение производительности Excel. Перезапуск решает проблему.
 
Юрий М, вас понял)) спасибо  ;)
Изменено: Jack Famous - 31 Янв 2019 14:06:46
«Тот, кто несет фонарь, спотыкается чаще, чем тот, кто идет следом.»
Иоганн Пауль Фридрих Рихтер
Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 93 След.
Наверх