Выбрать дату в календареВыбрать дату в календаре

Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 19 След.
Перезапуск файла Excel
 
Код
Sub Reload(Optional ByVal ok As Long)
    If ok Then Exit Sub
    Application.OnTime Now, "'reload 1&'"
    ThisWorkbook.Close 0
End Sub
Изменено: testuser - 16.05.2024 13:22:19
Несправедливо закрытые темы
 
Цитата
БМВ написал:
Все знают что по газона не ходить, но ради 20м разницы прутся
А вот в Швейцарии слышал, люди гуляют в лесу только по тропинке, и если кто-то пойдет по траве, местные все возмущаются
Цитата
БМВ написал:
Только в одно сообщение соберите посты
Тут курилка ..
Изменено: testuser - 16.05.2024 01:42:00
Несправедливо закрытые темы
 
Просьба сдешних модераторов не принимать все сказанное на свой счет, я раньше обшался на многих форумах т.д. где были всякие идеотские правила, поэтому где бы я не услышал тему павил меня несет по инерции.
Изменено: testuser - 15.05.2024 21:17:03
Несправедливо закрытые темы
 
Сейчас камеры стали штрафовать за не пристегнутый ремень, вот че происходит то.. О..о
Несправедливо закрытые темы
 
Немножко выскажусь. Можно на форумах часто услышать, правила, читайте правила. Правила это хорошо. А помните, намордники все носили, тоже было такое правило..
https://youtu.be/Ir7k8vpU1WE
Изменено: testuser - 15.05.2024 20:34:36
Перенос правил УФ в VBA, Повысить производительность файла
 
Код
а выносить их на лист в дополнитльные столбцы
Еще дополню, дополнительные столбцы сбивают правила, поэтому нужно не доп. столбцы, а делать дополнительный лист с формулами для УФ
Ну или макросы, поскольку с этим УФ такая каша, я тут не спорю..
Изменено: testuser - 15.05.2024 19:34:27
Перенос правил УФ в VBA, Повысить производительность файла
 
На всякий случай, такая мысль, буквально сейчас пришла.. Может как-то ускорит, может нет. Не использовать формулы и выражения внутри правил, а выносить их на лист в дополнитльные столбцы, и уже УФ делать опорой на эти столбцы, чтобы формулы не вычислялись внутри волатильного движка УФ, а УФ проверяло лишь результат этих формул, вычисленных на листе. В приложеном примере я сделал такую модификацию для столбцов A и M(L).
Допустим у вас для столца L установлены такие правила
Код
<=F$3/2
>=F$3*2
>F$3*1,2
<F$3/1,2

Делаем дополнительные столбец (М) в котром протягиваем формулу
Код
=ЕСЛИМН(L3<=F$3/2;1;L3>=F$3*2;2;L3>F$3*1,2;3;L3<F$3/1,2;4)

А правила УФ меняем на
Код
=$M3=1
=$M3=2
=$M3=3
=$M3=4
Изменено: testuser - 15.05.2024 18:29:51
Зачем сражаться за секунды выигрыша по скорости работы макроса?
 
А на VBA можно написать класс-коллекцию и добавлять данные туда данные очинь быстро, на питоне наверное низя..
Изменено: testuser - 05.05.2024 14:41:52
О музыке.
 
Olga H., в Яндекс-музыке можно, но нужен интернет и платная подписка иначе рекламой затюкают
Словарь быстрее наполняется, если ключи для него отсортированы, Sorted Keys is good for Dictionary
 
Jack Famous, привет. Я проверял на случайных данных, и там Коллекция оказывалась значительно быстрее на объемах 500 + тыс. Что впрочем объяснимо таким моментом, что у хеш таблицы (по сути это массив) dictionary  четко фиксированый размер (~1000 элементов). Но если была бы возможность регулировать размер этой таблицы, то можно было бы получить бОльшую скорость dictionary на больших объемах. Скажу даже, я проверял сие, брал реализацию словаря The trick-а, делал в ней настраиваемый размер хеш-таблицы, и моя реализация в виде класса vba оказывалась быстрее Dictionary на объемах 500 т.+, что впроче все еще было медленей коллекции. В общем интересные моменты есть, хотя в сравнении, с UnorderedMap это все это конечно выглядит игрушками.. Если говорить о сортировке, то в коллекции, по логике она должна делать только хуже. Ведь коллекция использует логическое дерево, и при добавлении сортированых данных, постоянно будет расти только одна ветвь и получится так, то к самым первым элементам будет самый быстрый доступ, к последним - самый медленный..
Изменено: testuser - 03.05.2024 14:55:59
Быстрая очистка диапазона с данными (макрос), Оптимизация удаления (очистки) данных (макрос)
 
Цитата
БМВ написал:
все ж скорее события надо изолировать
Да, я об этом и хотел сказать, но почему-то процетировал другое
Быстрая очистка диапазона с данными (макрос), Оптимизация удаления (очистки) данных (макрос)
 
Цитата
mitya528 написал:
действительно, в модуле книги был макрос, который запрещает удалять строки, ради теста удалил его и 120 тысяч строк почистились за за 1 минуту.
Достаточно было добавить это
Цитата
evgeniygeo написал:
Application.Calculation = xlCalculationManual
Консулидация полей, Помогите решить проблему с консулидацией
 
Kleyn, чуть чуть подождите и возможно придут консульданты, чтобы прокосулидировть вас по означенному вопросу
Изменено: testuser - 28.04.2024 09:13:02
Как ускорить код, задающий параметры печати
 
Закомменипованное - лишние строки, это опции, имеющие заданные значения по умолчанию
Код
            With Sht.PageSetup
'                .LeftHeader = ""
'                .CenterHeader = ""
'                .RightHeader = ""
'                .LeftFooter = ""
'                .CenterFooter = ""
'                .RightFooter = ""
                .LeftMargin = Application.InchesToPoints(0.393700787401575) '28,3464566929134
                .RightMargin = Application.InchesToPoints(0.393700787401575)
                .TopMargin = Application.InchesToPoints(0.393700787401575)
                .BottomMargin = Application.InchesToPoints(0.393700787401575)
                .HeaderMargin = 0 'Application.InchesToPoints(0)
                .FooterMargin = 0 'Application.InchesToPoints(0)
'                .PrintHeadings = False
'                .PrintGridlines = False
'                .PrintComments = xlPrintNoComments
                .PrintQuality = 600
'                .CenterHorizontally = False
'                .CenterVertically = False
'                .Orientation = xlPortrait
'                .Draft = False
'                .PaperSize = xlPaperA4
'                .FirstPageNumber = xlAutomatic
                .Order = xlOverThenDown
'                .BlackAndWhite = False
                .Zoom = False
'                .FitToPagesWide = 1
                .FitToPagesTall = False
'                .PrintErrors = xlPrintErrorsDisplayed
'                .OddAndEvenPagesHeaderFooter = False
'                .DifferentFirstPageHeaderFooter = False
'                .ScaleWithDocHeaderFooter = True
                .AlignMarginsHeaderFooter = False
'                .EvenPage.LeftHeader.Text = ""
'                .EvenPage.CenterHeader.Text = ""
'                .EvenPage.RightHeader.Text = ""
'                .EvenPage.LeftFooter.Text = ""
'                .EvenPage.CenterFooter.Text = ""
'                .EvenPage.RightFooter.Text = ""
'                .FirstPage.LeftHeader.Text = ""
'                .EvenPage.CenterHeader.Text = ""
'                .FirstPage.RightHeader.Text = ""
'                .FirstPage.LeftFooter.Text = ""
'                .FirstPage.CenterFooter.Text = ""
            End With
Зачем сражаться за секунды выигрыша по скорости работы макроса?
 
Цитата
МатросНаЗебре написал:
есть подозрение, что это пришло из других языков, где просто нельзя написать по-другому.
Да там похоже пытаются притянуть специфику разработки в какой-нибудь джаве, на vba. Объявление переменныв внутри цикла на vba не имеет смысла, поскольку не отражает реальный принцип работы и может только запутывать.
Перенос таблицы из PDF в xls
 
Цитата
Zozel написал:
проблема в том, что они отсканированы и могут иметь наклон
Это наверное ключевое. Думаю, единственное что тут можно посоветовать, распечатть PDF в растр, откорректировать наклон в растре в каком-нибудь профессиональном редакторе (в Кореле допустим) максимально точно. И по новой распознать. Но не будучи специалистом в таких дела, подозреваю, распознавание таблиц это чистейшее дерьмо в любом случае..
Изменено: testuser - 22.04.2024 02:08:20
MsgBox в Офис Р-7
 
Здесь вот какой-то плагин "Кнопка ссылкой" презентуется..
https://youtu.be/UKz5RzL8XLo
Изменено: testuser - 19.04.2024 15:37:35 (удобно с..ка)
MsgBox в Офис Р-7
 
Цитата
БМВ написал:
Все фишки событий листа,
Я вот слышал такое определение для JS, что это событийно-ориентированный язык. Ирония судьбы конечно, если в Р7/Only не завезли события
Изменено: testuser - 19.04.2024 11:10:19
MsgBox в Офис Р-7
 
Цитата
evgeniygeo написал:
все настолько плохо в Р-7???
Там может все не так уж плохо, по крайне мере выглядит перспективно, то что JS, то что возможна какая-то тесная интеграция приложения с браузероми с их современными, продвинутыми отладчиками, это все интересно. Но в то же время отсутствие простого вывода аля MsgBox/print этопрям как явный звоночек, мессдаж прям, мол - да мы не такие как все, мы с причудами.. Там кстати где пример с дебаггером приводится, "Hello World" выводится на лист текстового редактора.. Странно все это.. :sceptic:
MsgBox в Офис Р-7
 
Отвлеченно глядя на обшую картину, видно, что серьезный подход такой. Там у них и то и это и третье, десятое. С другой стороны а нафиг офису все эти pdf-просмотрщики, видеоплееры. Этого добра и так хватает, не лучше ли было бы сосредоточиться на самом офисе..  Такие мюсли короче..

Кстати забавная вещь, там команда print вызывает окно выбора пинтера. Да с msgboxom засада. Alert по идее должен быть доступен в режиме отладки. Там отладка с помощью браузера, но я например не смог её включить "с полпинка", и вообще
Предложение по послаблению правил при создании первых 3 тем
 
Цитата
Sanja написал:
Не уместными с какой точки зрения?
Вот с этой
Цитата
evgeniygeo написал:
в первых трех темах помочь новому участнику научиться соблюдать правила форума
С другой стороны, повторюсь что лично мне это не особо-то и важно, но если бы я рассуждал так как буд-то мне это было бы важно, то я рассуждал бы.. в общем как-то так или не так, в общем все это не очень важно.. ))
Вставить данные на лист Excel без преобразования (xlSet)
 
bedvit, можно сделать просто в vba получить указатель разименовать, поработать с данными, и отпустить указатель,  как буд-то ни чего не был,  а менеджер памти Excel пусть делает что хочет. В общем на VBa все это не проблемма, главное знать структуру  данных. Структура конечно не очен понятна, со всеми этими юнитами, нельзя ли ее привести к какому-то такому виду?
Код
Private Type tpVariant
    vt As Integer
    r1 As Integer
    r2 As Integer
    r3 As Integer
    pt As LongPtr
    r4 As LongPtr
End Type
Вставить данные на лист Excel без преобразования (xlSet)
 
Цитата
bedvit написал:
кто будет управлять памятью, когда я вам передам указатель на массив?
Вы передадите указатель мне и отпустите у себя указатель, а я разименую его на safearray-массив структуры типа XLOPER12. Попутно конечно хотелось бы знать эту структуру, на MS почему-то нет по ней информации.
Да скорее всего придется в VBA коде сделать освобождение указателя на массив, но это не проблема.
Изменено: testuser - 18.04.2024 13:27:05
Предложение по послаблению правил при создании первых 3 тем
 
По общей сложности меня мало волнуют все эти вопросы, но все же скажу, на мой взгляд те две блокировки с утра действитльно выглядели не очень уместными. Там вроде человек составил какой-то развернутый вопрос (я не читал).. Я понимаю бывают такие, которые ни бе ни ме, два слова связать не могут.. Получается как  бы тупая уровниловка, тех кто вообще не хочет шевелить мозгами со всеми остальными..
Изменено: testuser - 18.04.2024 13:20:34
Вставить данные на лист Excel без преобразования (xlSet)
 
bedvit, а вы не могли бы добавить опцию, чтобы передавать/получать данные непосредственно по указателю массива типа XLOPER12?? (речь о передаваче указателя как целочисленного знчения)
Изменено: testuser - 18.04.2024 12:57:22
Вставить данные на лист Excel без преобразования (xlSet)
 
Цитата
bedvit написал:
Собственно это основной тип (структура) данных. Для VBA, Excel трансформирует  XLOPER12 в Variant и наоборот
Ну тут понятно, там где какое-нибуь трансформирование, наверняка тупое копирование, а в вашем классе это наверное релизовано как-то поумней. Такой вопрос, а нельзя ли передать в vba указатель непосредственно на массивы данных в ячеек, чтоб непосредстенно из vba можно было работать с этими данными?
Вставить данные на лист Excel без преобразования (xlSet)
 
Цитата
bedvit написал:
возможно Empty.
Empty это пустой вариант, есть еще Null тоже пустой но единичка в начале (тип)
Изменено: testuser - 17.04.2024 18:40:20
Вставить данные на лист Excel без преобразования (xlSet)
 
Виталий, добрый день! По моему что-то интересное и своевременное. В то время как в соседней теме постановили, что "Эксель себя исчерпал". Это конечно все шутки. Вы как я понимаю сделали быструю выгрузку налист, как раз то чего не хватает. Не моглибы просветить темный народ, что значит тип LPXLOPER12. LP вроде понятно - указатель, а XLOPER12 это что-то вроде бейсикового Variant?
Изменено: testuser - 17.04.2024 18:14:50
Свойства и методы, установленные в VBA по умолчанию
 
Цитата
nilske написал:
да везде работает "оптимально", не только в JS  ))
Ну там другие зато погремушки, там царство дикой автоматики безальтернативной динамической типизации.
Свойства и методы, установленные в VBA по умолчанию
 
Цитата
sokol92 написал:
вызывает функцию MyFunc.
Видимо так работает калькуляция..
А нет, так не срабатывает, т.е. калькуляция может избирательно работать
Код
=ЕСЛИ(ИЛИ(C10;0);1;MyFunc())
Изменено: testuser - 10.04.2024 15:05:39
Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 19 След.
Наверх