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

Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 76 След.
Сортировка дат в текстовом формате, Сортировка дат в текстовом формате
 
В макросах для этой цели используется параметр DataOption метода SortFields.Add.
Изменено: sokol92 - 19 Фев 2020 15:24:21
Владимир
Сортировка дат в текстовом формате, Сортировка дат в текстовом формате
 
Здравствуйте, PooHkrd! Я не видел исходного текста MS Excel. :)

Возможно, для этой цели используется ключ SortTextAsNumbers  из ветви реестра \HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Excel\Options
(16.0  соответствует Office 2016)
Изменено: sokol92 - 19 Фев 2020 15:05:15
Владимир
Возможно ли использование массива в условиях оператора If...Then?
 
Можно применить такую конструкцию в строке 1 #1:
Код
  If UBound(Filter(массив, переменная)) >= 0 Then
Владимир
Пропали окна в редакторе VBA, как отобразить?
 
Проверил метод Владимира (ZVI) на нескольких версиях офиса (включая 2016). Всё работает (кто бы сомневался) :)  
Владимир
Сортировка дат в текстовом формате, Сортировка дат в текстовом формате
 
Цитата
Дмитрий(The_Prist) Щербаков написал:
да никак. Это 1С так шутит.
Дмитрий пошутил, конечно. Нет тут никаких загадок. Уберите автофильтр и сортируйте диапазон обычным образом по полю "Дата в текстовом формате".

"Умный" Excel предлагает две опции:
  • все данные, похожие на числа, как числа
  • числа и числовые данные в текстовом формате раздельно
При выборе первой опции тексты будут отсортированы как даты (даты в Excel хранятся как числа).

При выборе второй опции - как тексты.

Не будем лишать удовольствия пытливых читателей самостоятельно ответить на вопрос из #1.
Скрытый текст

Спасибо автору темы за интересный вопрос.
Изменено: sokol92 - 18 Фев 2020 22:27:17
Владимир
Латинские слова сделать заглавными буквами
 
Здравствуйте, Игорь!

Код
Debug.Print "\" Like "[A-z]"
Владимир
Задачка
 
Зайдем с другой стороны.
Пусть S - общее количество цифр во фразе из #1, T - сумма вписанных значений (вместо троеточий). В начале S=10, T=0.
Когда мы всесто троеточия вписываем число n, то S увеличивается на число цифр числа n, а T увеличивается на n. Таким образом, наименьшее двузначное число 10 сокращает разрыв между T и S на 8. Понятно, что если число >=10 и есть, то оно одно. Таким образом, получается одно решение из пункта 2 #18 и еще одно (после короткого анализа) из пункта 1.

Опять же, если пренебречь грамматикой русского языка...
Владимир
Задачка
 
Скажу по секрету - задача вовсе не требует кода. :)  
Владимир
Печать выделенной области на определенной части листа
 
Цитата
Dan93 написал:
Excel не реализована функция, которая позволяет распечатать выделенный диапазон строк не сдвигая саму таблицу
Ctrl+P/Напечатать активные листы->Напечатать выделенный фрагмент
Владимир
Задачка
 
Симпатичная "олимпиадная" школьная задача. Не будем лишать участников форума удовольствия ею позаниматься...
Максим в #1 попросил сформулировать алгоритм. :)  
Владимир
Ответ на «Главный вопрос жизни, вселенной и всего такого», 42 = -80538738812075974^3 + 80435758145817515^3 + 12602123297335631^3
 
Цитата
bedvit написал:
Нахождение решения заняло более миллиона часов машинного времени
Здравствуйте, Виталий! Самый мощный вычислитель в истории назывался Рамануджан.  :)  Компьютеры до этого пока не добрались.
Владимир
Задачка
 
Добрый день! Указанные решения не отвечают условию задачи #1. Фраза должна быть грамматически верной. Никто не разрешал самовольно добавлять букву (ы) "а".
Есть ли корректное решение? :)

Если не обращать внимание на грамматику. Подсказка.

Представим решение в виде массива A(0 to 9) натуральных чисел: A(0) - число упоминаний цифры 0, ..., A(9) - число упоминаний цифры 9.
Разобъем все решения на два класса.
1. Все элементы массива не более 9 (являются цифрами). Тогда общее число всех цифр  во фразе будет 10 (они уже есть в исходной фразе) + 10 (по одной цифре из массива). Значит, сумма всех элементов массива равна 20. Далее легко и без компьютера
2. Среди элементов массива есть хотя бы одно число, большее 9. Очевидно, что число, большее 9, может быть только одно и это - A(1).
Изменено: sokol92 - 16 Фев 2020 14:52:45
Владимир
Поиск формул ячейки, в которых встречаются константы
 
Цитата
buchlotnik написал:
надстройка Inquire
Отлично! Лучший код имеет 0 строк.
Владимир
Поиск формул ячейки, в которых встречаются константы
 
Добрый день, Михаил! Предвидя Ваше появление я дописал "упрощенный".  :)  

Еще надо разбираться со знаком "." (точка), поскольку этот знак может встречаться в именах ячеек и функций. Но мне кажется, что для поставленной в #1 задачи, подойдет. В 10 строк, правда, не уложишься.
Изменено: sokol92 - 14 Фев 2020 19:26:20
Владимир
Поиск формул ячейки, в которых встречаются константы
 
Упрощенный алгоритм. Анализируем посимвольно формулу слева направо, пропуская текстовые литералы. Если встречаем цифру, перед которой нет буквы, цифры, знака подчеркивания, знака доллара - то это начало числовой константы. Буква определяется как символ, для которого
Код
UCase (x) <> LCase(x)
Изменено: sokol92 - 14 Фев 2020 19:09:03
Владимир
Функция и макрос мешают работе друг друга
 
Ура! По поводу #16 - увы, профессионал попадает с первого выстрела. :)  
Владимир
Функция и макрос мешают работе друг друга
 
Добрый день!
Вспомнил простое лекарство для Excel 2007. Очередная модификация "проблемного" макроса из #1:
Код
Sub Макрос1()
  With Application
    .ScreenUpdating = False
    ActiveCell.EntireRow.Insert
    .ScreenUpdating = True
  End With
End Sub

Попробуйте, пожалуйста. Логика понятна - при отключенном отображении изменений экрана формулы условного форматирования не должны пересчитываться. Должно работать для всех версий 2007+.
Владимир
Аналог Application.Trim
 
Спасибо, друзья!
Владимир
Аналог Application.Trim
 
На практике я не встречался. В теории знаком по специфической работе метода Range.Replace c этим сиволом. Вместо Chr(1) можно указать любой символ, которого заведомо нет в строке, например, какую-нибудь букву из слоговой письменности канадских аборигенов (правда, сейчас пользователи форума - спецы по этому языку возмутятся :) )
Изменено: sokol92 - 13 Фев 2020 21:15:44
Владимир
Аналог Application.Trim
 
И для коллекции - трюк без цикла, позаимствованный из SQL (при условии, что аргумент не содержит chr(1)):
Код
Trim_VBA2 = Replace$(Replace$(Replace$(Trim$(txt), " ", Chr(1) & " "), " " & Chr(1), ""), Chr(1), "")
Изменено: sokol92 - 13 Фев 2020 20:23:47
Владимир
Регрессия страховых взносов
 
Речь идет о страховых взносах в РФ за 2020 год. Взносы считаются нарастающим итогом за год. У Вас 3 вида взносов (социальное, пенсионное, медицинское страхование) и еще, вероятно, взносы на страхование от несчастных случаев. Каждый вид взноса нужно считать отдельно, округляя до копеек. Сумма взноса за текущий месяц равна сумме взноса, определенного от налоговой базы с начала года по текущий месяц минус сумма взноса, определенного от налоговой базы с начала года по месяц, предшествующий текущему. Подробности здесь.
Изменено: sokol92 - 13 Фев 2020 13:41:35
Владимир
Функция и макрос мешают работе друг друга
 
Здравствуйте! Поэкспериментировал с Excel 2007. К сожалению, в этой версии установка свойства листа EnableFormatConditionsCalculation в False не блокирует вызов UDF функций, вызываемых из формул условного форматирования.
Предположительно, ошибка возникает при вызове UDF функции из-за внутреннего пересчета адресов ячеек при вставке строки (не видя исходного текста, трудно что-то сказать более определенное).
Не думаю, что разработчик будет заниматься этим, поскольку поддержка версии 2007 давно прекращена. :(


Можно обойти эту ошибку с помощью использования дополнительной ячейки: см. ячейки A6, B6 во вложении. Тогда макрос из #1 будет работоспособен и в исходной редакции.
Изменено: sokol92 - 13 Фев 2020 13:17:31
Владимир
Эксель формат даты мм/дд/гггг понимает как дд/мм/гггг. Как исправить, эксель не отличает дд/мм/гггг от мм/дд/гггг
 
Обсуждать нужно, как правильно импортировать данные файла .csv, для этого нужно выложить хотя бы фрагмент этого файла.
Владимир
Функция и макрос мешают работе друг друга
 
Успехов!
Владимир
Функция и макрос мешают работе друг друга
 
Попробуйте макрос из #1 записать в таком виде:
Код
Sub Макрос1()
    With ActiveSheet
        .EnableFormatConditionsCalculation = False
        ActiveCell.EntireRow.Insert xlDown
        .EnableFormatConditionsCalculation = True
    End With
End Sub

Изменено: sokol92 - 11 Фев 2020 17:13:40
Владимир
КОНМЕСЯЦА не считает последний день
 
А вдруг событие произойдет в 23:59:59? Пишите вместо +0,99 что-нибудь в стиле +1-1E-9.
Владимир
Преобразование текста в дату
 
Цитата
Михаил Лебедев написал:
Мммистика
Михаил, никакой мистики нет, у Вас же этот эффект не возникает? Любой пользователь, открыв файл из сообщения #6, придет к выводу из #19. Ситуацию с нелицензионными версиями мы, естественно, не рассматриваем.
Изменено: sokol92 - 11 Фев 2020 13:20:08
Владимир
Открытие личной книги макросов (PERSONAL) при не закрытом процессе
 
Да, описанный в #1 эффект существует. Замена личной книги макросов на надстройки тоже вряд ли поможет.
Можно научить пользователя стартовать Excel в новом экземпляре (есть специальный параметр командной строки), а затем открывать сохраненный ранее файл.
Владимир
Преобразование текста в дату
 
Откройте файл из сообщения #6, а не тот, который Вы показываете.
Владимир
Функция и макрос мешают работе друг друга
 
Добрый день! Пример из #1, действительно, не работает, по крайней мере, в Excel 2016, даже если переименовать функцию, которая используется в условном форматировании. При последовательном примененении макроса функция Msgbox в нем не отрабатывает, что свидетельствует о серьезных ошибках.
Не любую UDF-функцию можно использовать в условном форматировании. Использовать функцию рабочего листа ЕФОРМУЛА автору темы не удастся, так как у него Excel 2010.
Владимир
Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 76 След.
Наверх