Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
AlienSx: Задачку про ночные смены так и не решили?
очевидно, всё время уходит на создание "простыней" для Курилки
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Igor P, а можно и мне той дряни, что вы курите? Я медведю подарю
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Ranker Dark, идея с тэгами правильная, но на винде это тот ещё геморрой.
Можно просто сделать таблицу в Excel (список из одного столбца). В нём будут полные пути к каждому файлу. Отдельный парсер путей будет создавать "плоскую" таблицу с иерархией. На основании этой плоской таблицы можно построить обычную сводную. Будет очень быстро и удобно. Можно прикрутить всякие улучшения на VBA типа удобного поиска, фильтра и так далее. Чтобы список мог самообновляться, нужно придумать систему нейминга папок/файлов и зашить этот принцип в код. Тогда, при открытии книги, будет обновляться список путей и далее по цепочке.
У меня реализовано что-то похожее, но без автообновления, а все файлы (с уникальными ключами в качестве имён) хранятся в одной папке-проекте. Деление на "подпапки" осуществляется в таблице и может меняться как угодно (файлы-то в одном известном месте всегда лежат). При необходимости, я могу воссоздать структуру таблицы на диске, "слепив" новые пути из данных в таблице.
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Igor P:То, что вы "таких не любите" - это даже хорошо, поскольку это, с высокой вероятностью, говорит о вашей нормальной сексуальной ориентации. А меня, с учетом вышесказанного, как раз именно вы и заинтересовали.
вот теперь я уже начинаю нервничать
Цитата
Igor P: Я готов … протестировать вас, и прислать ваш психологический портрет
не, спасибо. Если бы мне нужно было что-то подобное, то я бы обратился к профессионалу в области, коим вы, скорее всего, совсем не являетесь. Кроме аналитики, макроэкономики и психологии есть ещё области, в которых вы хорошо разбираетесь?
Цитата
МатросНаЗебре: В простонародье её называют бесплатной, но вы можете называть "репроцитной".
Реципрокный. Наш "мастер-на-все-руки-фломастер" банально ошибся. Так бывает с недалёкими людьми, которые заучивают сложные термины, чтобы казаться умнее. На чистую воду такие пассажирчики выводятся элементарно.
Свою миссию в данной теме считаю успешно выполненной. Потенциальный заказчик должен знать, на что он идёт
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Шынполат, причина ближе, чем кажется. Она прямо в вашем тесте выше. Инструмент вам буквально говорит о причине. Что тут комментировать, я не знаю.
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Светлая память… Великолепный специалист. Я был на одной такой встрече в Питере.
P.S.: парадокс, но в "Важном" тему еле нашёл. Если бы не знал, что она есть, то не скоро обратил бы внимание.
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Igor P, обиженкой больше — меня не стильно трогает. Причём, важно понимать, что обида безосновательна Покажите свои возможности в бесплатной ветке — тогда и поговорим конструктивно. Пока вы для меня — пафосная болталка, желаюшая заработать на сайте, для популяризации которого палец о палец не ударили. А я таких не люблю.
P.S.:
Цитата
AlienSx: upd: Вы меня, конечно, простите, но это ... как это назвать?
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Sanja, имхо, пока компетенции ТСа нам неизвестны, тема под снос, т.к. может бросить тень на сайт. Содержание рекламы даже комментировать не буду …
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
AlienSx: excel_pl , при этом Jack Famous предлагает предварительно перевести дату и время в UTC, что не лишено здравого смысла
спасибо) Ну да — если смещение есть в исходных данных, то я обычно храню "чистые" ДатаВремя, чтобы потом можно было просто добавить смещение пояса (СмещениеВЧасах / 24) и быстро получить актуальную дату для любого пояса. Тут зависит от задачи: если с поясами работать не надо, то вычисляйте (если это вообще нужно) один раз (при заборе из CSV) для своего пояса (или какой нужен) и храните "своё" ДатаВремя.
Уж такие тонкости самому лучше определять — по задаче.
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Это просто обозначение того, что 2 поля целочисленные, а одно — с плавающей точкой максимально возможной точности (в PQ это "Целое" и "Десятичное" числа, если мышкоклацаньем делать). Где писать — вам решать. Вопрос был. как хранить — я показал свой подход. Я всегда стараюсь максимально разделять данные, потому что "на лету" соединять гораздо проще, чем делить.
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
IKor, здравствуйте Все основные правила вам "подскажут" сами Умные Таблицы(УТ). Например, они не дадут объединить ячейки или задублировать имя поля. В УТ все формулы можно писать также, как и вне УТ: ссылками типа A1 или R1C1 — "умные" ссылки вставляются при щелчке на ячейки той же строки/заголовков/итогов/всего поля УТ, но и эти ссылки можно заменить на обычные. Самое важное — знать, что в настройках есть параметры УТ типа "распространить формулу на весь столбец" — это можно отключать, если надо. Ну а как себя поведут формулы при другой сортировке — вопрос, который УТ не касается. Тут всё также, как и без УТ.
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
По PQ не скажу, но я бы хранил так: DateUTC As Long, TimeUTC As Double, OffsetUTC As Long Суммировать Дату с Временем в одно значение будет быстрее, чем разделять одно значение на 2 (и потерять миллисекунды, если сделать это неправильно). Плюс, гораздо быстрее и удобнее анализировать и искать по датам без времени.
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
rotex42, здравствуйте Неточный поиск — очень сложная штука. Лучше обеспечить неизменность ключей/артикулов и обязать их использование. Попробуйте разместить заказ в платном разделе (может, можно накидать алгоритм под ваши условия), если тут не помогут. Не претендую.
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
МатросНаЗебре, всё верно и, в целом, ожидаемо. Просто не думал, что аж в 2 раза (ровно)
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Приветствую! В одном из моих проектов возникла необходимость хранить в памяти несколько небольших одинаковых по полям табличек и очень часто получать из них информацию по индексам. То есть, вводные данные — 3 числа: номер таблицы, номер строки, номер столбца.
Решил проверить, что быстрее и делюсь с вами(Планета и Кибер).
Часть 1. 1D массив с 2D массивами или один 2D массив. Второй вариант в 2 раза быстрее.
Код
Option Base 1
Option Explicit
Option Private Module
'==================================================================================================
Private Sub Test_TypeOfSafe()
Dim a(), aa(), a2D_Full(), aKoef&()
Dim t!, r&, c&, n&, m&, p&
Const rA& = 3, cA& = 2, mult& = 10, nCyc& = 100000000 ' 100 mln
' Prepare ===========================================================
' Arr2D =========================================
ReDim a(rA, cA)
For c = 1 To UBound(a, 2)
For r = 1 To UBound(a, 1)
a(r, c) = 10 * r + c
Next r
Next c
' Arr1D with Arr2D ==============================
ReDim aa(mult)
For n = 1 To UBound(aa)
aa(n) = a
Next n
' Full Arr2D ====================================
ReDim aKoef(mult)
ReDim a2D_Full(mult * rA, cA)
For n = 1 To mult ' 1 2 3 4 5 6 7 8 9 10
aKoef(n) = rA * (n - 1) ' 0, 3, 6, 9, 12, 15, 18, 21, 24, 27
For c = 1 To UBound(a, 2)
For r = 1 To UBound(a, 1)
a2D_Full(aKoef(n) + r, c) = a(r, c)
Next r
Next c
Next n
' Speed Test ========================================================
' ArrArr ========================================
t = Timer
For n = 1 To nCyc
p = aa(mult)(rA, cA)
Next n
Debug.Print "ArrArr", Format$(Timer - t, "0.0"), p ' 3.4 | 32
' a2D_Full ======================================
t = Timer
For n = 1 To nCyc
p = a2D_Full(aKoef(mult) + rA, cA)
Next n
Debug.Print "a2D_Full", Format$(Timer - t, "0.0"), p ' 1.7 | 32
' Show Arrays =======================================================
'Worksheets.add
'Cells(1, 1).Resize(UBound(a, 1), UBound(a, 2)).Value2 = a
'Cells(1, 2 + UBound(a, 2)).Resize(UBound(a2D_Full, 1), UBound(a2D_Full, 2)).Value2 = a2D_Full
End Sub
'==================================================================================================
'==================================================================================================
'==================================================================================================
'==================================================================================================
В дальнейшем планирую проверить скорость ENum и User Defined Type — для превращения безликих индексов в осмысленные параметры.
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Ещё старая проблема: опять пропадает возможность вставить перенос строки(Enter), пока не нажмёшь "Просмотр"
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
tolikt: Пока суперспециалисты спорят о классах, хтмл и прочем высоком, вернёмся на грешную землю к сермяжно-посконному подходу к решению данной задачи.Если слегка подрихтовать кувалдой и ломом предыдущий колхозный вариант, то из буфера в Word вставляется в простом виде, а не табличкой.
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
nilske, я по вашей ссылке в #18 вообще ничего про форматирования символов не увидел
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
sokol92, приветствую и спасибо! Мне нравится такой метод
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
БМВ: сделает только сложнее проверку на то, действительно ли взят диапазон, а не похожий текст.
вообще тебя не понял. Формулы начинаются со знака "=" — вот тебе и вся проверка.
Цитата
БМВ: Также придется дробить на поддиапазоны в случае есливыделено несколько диапазонов.
это называется области: Range.Areas. И тут тоже ничего сложного. Сложность в том, как написать парсер для строки формулы, а не как его применить для Selection.Areas.Count.
Цитата
БМВ: В чем смысл замены - это во всех формулах чехом заменить диапазон , если он повторяется.
хоспади, ну не нужно ли ТЕБЕ объяснять, что "чехом" — это такой же цикл, только скрытый от твоих глаз. Встраиваешь в парсер статичный словарь и сохраняешь отобранные замены.
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
приветствую! Я не в теме задачи, но ведь всегда можно взять массив arr = Range().Formula, поработать с формулами, как со строками и выгрузить обратно Range().Formula = arr
Михаил Л, здравствуйте Скажите, пожалуйста, если не секрет, в чём глобальный смысл данных действий? Зачем может быть нужно заменять ссылки на их значения? Кстати, ссылка по теме замены ссылок на значения (есть ещё версия в надстройке Multex)).
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Blueyed: Получается тип переменной должен был быть текстом. Хотя это цифры.
ну дык
Цитата
Kuzmich: а вот что записал макрорекордер … Criteria1:=Array("2025", "2026", "2027", "2028"), Operator:=xlFilterValues
и тут это прекрасно видно. Всё, что в кавычках — текст.
Вообще, с датой/временем и прочими числами с форматированием, нужно очень повозиться, чтобы отфильтровать. Проще всего, в этом случае, использовать доп. столбец, наполнить его ячейки напротив фильтруемых значений (например, буквой "f") и отфильтровать по нему (по этой букве). А ещё не получится передать в массиве фильтрации строки длиннее 255 символов. Только одну можно.
Расширенный фильтр проще в этом плане, но там других заморочек куча. Я использую доп. столбец для фильтрации кодом VBA.
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Pavlin3: результаты разные. Условно - на 100 вставок только в видимые строки происходит 1 вставка во все строки указанного диапазона, включая скрытые строки.
если всё происходит на одном и том же компе, с одним и тем же офисом, в умной таблице — значит копируете или вставляете по-разному. Что-то меняется. 3го не дано. Может, что-то включаете/отключаете перед копированием. Отследите и сообщите.
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Автоматически найти и выделить ячейку с минимальным значением в строке (найти не проблема, основная задача автоматическое выделение цветом при этом), Работы много я один
БМВ, товарищ "ДжимэйлТочкаКом" — очень удобно обращаться
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Pavlin3, проверьте, есть ли разница при вставке в отФИЛЬТРованные и во вставке в скрытые руками строки. Также проверьте обычный диапазон и умные таблицы. Возможно, ещё, дело в версии офиса.
Лично я вставляю скопированную ячейку во все видимые ячейки диапазона, предварительно их получив (F5→Выделить→Только видимые). Так надёжно и однозначно.
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄