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

Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 124 След.
Добавить в формулу буквы столбцов от A до QG
 
В файле формата *.xlsx макросов быть не может. Посмотрите внимательно пример из #4 и сделайте по образцу.
Владимир
Продолжение работы макроса после скачивания файла из Интернета
 
Цитата
Max5 написал:
есть способ определения окончания загрузки без циклов проверки.
С Хромом вряд ли без установки дополнительного программного обеспечения (типа Selenium). Но можно скачивать, например, с помощью curl - это сейчас эталон для подобных вещей. Или штатными средствами (если получится).
Владимир
Стили комментариев (примечаний) в ячейках и VBA
 
У Вас в макросах уже есть всё необходимое.
Получаете объект Shape из комментария, далее месяц ( :) ) исследуете его многочисленные свойства и методы.

Пример макроса, который выделяет первую букву непустого комментария к ячейке жирным шрифтом.
Код
Sub Test()
 Dim oShape As shape
 Set oShape = ActiveCell.Comment.shape
 oShape.TextFrame.Characters(1, 1).Font.Bold = True
End Sub
Владимир
Продолжение работы макроса после скачивания файла из Интернета
 
"Хром" скачивает файл в асинхронном режиме.  Можете после выдачи команды на загрузку файла в цикле через паузу, например, на 20 сек, проверять, появился ли файл с нужным именем. Только ограничьте общее время ожидания.
Изменено: sokol92 - 10.09.2021 15:02:50
Владимир
Исчезли макросы в книге
 
Успехов! Граждане, храните деньги в сберегательной кассе делайте копии файлов!
Изменено: sokol92 - 09.09.2021 17:49:37
Владимир
Исчезли макросы в книге
 
Забирайте.
Владимир
Получаю разное значение при одинаковых условиях в функциях Int и Fix
 
Это риторический вопрос - нужен исходный код (которого нет).
Владимир
Получаю разное значение при одинаковых условиях в функциях Int и Fix
 
Я не вижу недостатков в реализации стандарта double, кроме того, что программист должен ясно понимать, что он делает. Функция Fix при любой реализации является разрывной (как и Round).
Что касается MS Office, то компилятор VBA создает высокооптимизированный код (чему мы обычно радуемся в других темах, посященных измерению производительности). Нюансы этого кода нам недоступны.
Кстати, одним из видов оптимизации является оптимизация обработки констант. Как справедливо отметил Андрей в #3, результаты меняются, если константу 10000 в выражении заменить на переменную типа Variant, которая имеет значение 10000.

Еще одно гипотетическое объяснение - что в каких-нибудь допотопных версиях Excel функция Fix имела баги. Бережное сохранение багов от версии к версии Excel - религиозный постулат разработчика. И вот решили, как "выход" из положения, по-разному обрабатывать Fix и VBA.Fix. Но всё это конспирология...   :)  
Изменено: sokol92 - 09.09.2021 15:32:56
Владимир
Получаю разное значение при одинаковых условиях в функциях Int и Fix
 
Цитата
Jack Famous написал:
1.1234 * 10000 — это 11 234 и никак иначе
Для Excel и других подобных программ  - см. #25.
Владимир
Получаю разное значение при одинаковых условиях в функциях Int и Fix
 
Цитата
Jack Famous написал:
почему результаты функций Fix() и VBA.Fix() — отличаются при одинаковых аргументах?
Какие-то особенности компилятора. Без анализа исходного кода ничего нельзя сказать. Я бы не стал на этом зацикливаться, потому что оба варианта ответа (11233 и 11234) равно приемлемы.
Посмотрел на

Код
Debug.Print Fix(1.1234 * 10000)

в Word. Там у меня (Word 2016 32- Win10) другая ситуация: первый раз выдается 11234, а далее - 11233.
Изменено: sokol92 - 09.09.2021 14:57:49
Владимир
Получаю разное значение при одинаковых условиях в функциях Int и Fix
 
В очередной раз напоминаю вам, друзья мои, что мы находимся в мире приближенных вычислений, в котором нет понятия равенства для дробных чисел (если только их знаменатели не являются степенью двойки).
Число 1.1234 является бесконечной периодической дробью в двоичной системе счисления и в формате double будет округлено с минимально возможной (но не нулевой) погрешностью. После умножения на 10000 погрешность увеличится в 10000 раз. При этом результат может отклониться от точного значения (11234) как в большую, так и в меньшую сторону. Если отклонится в меньшую сторону, то Fix вернет 11233.

Что здесь удивительного?
Изменено: sokol92 - 09.09.2021 14:12:47
Владимир
Переопределение имени константы VBA
 
Приложите проблемную книгу.
Владимир
Как отключить постоянно вылетающее окно "Некоторые файлы могут содержать вирусы или другое опасное содержимое... "
 
Перепроверьте тип параметра и значение. У Вас точно 64-разрядный офис? В конце первой строки экрана Меню / Учетная запись / О программе  Excel написано "64-разрядная версия"?

Для Win10 работает, для Win7 проверить не на чем.
Изменено: sokol92 - 05.09.2021 20:44:42
Владимир
Как отключить постоянно вылетающее окно "Некоторые файлы могут содержать вирусы или другое опасное содержимое... "
 
Должен существовать раздел \HKEY_CLASSES_ROOT\mp3file. Создавайте в нем ключ EditFlags со значением, как указано Microsoft.
Владимир
Как отключить постоянно вылетающее окно "Некоторые файлы могут содержать вирусы или другое опасное содержимое... "
 
Ответьте на вопрос из #13 о версии офиса.
Владимир
Как отключить постоянно вылетающее окно "Некоторые файлы могут содержать вирусы или другое опасное содержимое... "
 
Пробуем план B - #13 - отключение предупреждения на mp3.
Изменено: sokol92 - 05.09.2021 19:06:34
Владимир
Как отключить постоянно вылетающее окно "Некоторые файлы могут содержать вирусы или другое опасное содержимое... "
 
Здравствуйте, Владимир! Не знал о таких тонкостях.  :)  
Владимир
Как отключить постоянно вылетающее окно "Некоторые файлы могут содержать вирусы или другое опасное содержимое... "
 
Вы применяли метод 2 по ссылке, то есть правили ключ реестра  \HKEY_CLASSES_ROOT\mp3file\EditFlags ?

А какая у Вас версия MS Office: 32- или 64-разрядная (посмотреть ее можно в первой строке Меню / Учетная запись / О программе  Excel)? Ветви реестра Windows различны для 32- и 64-разрядных программ. Подробности о ветвях реестра Windows, например, здесь.
Изменено: sokol92 - 04.09.2021 17:13:57
Владимир
Как отключить постоянно вылетающее окно "Некоторые файлы могут содержать вирусы или другое опасное содержимое... "
 
Вы смотрели эту тему? Она актуальна и для текущих версий, а не только для Excel 2010. Номера версий Office: 14 (2010), 15 (2013), 16 (2016).
Владимир
Как преобразовать XLSX в CSV ?
 
У Вас названия полей в первой строке исходного файла не соответствуют Шаблону. Например, в шаблоне: "Модель/вариант", у Вас "Модель". В шаблоне поля разделяются запятой, у Вас - точкой с запятой. В графе "Количество", вероятно, ожидается число, а у Вас - текст.
Как выводить файлы csv с разделителем "запятая" - на этом сайте много тем, посвященных формату csv.
Владимир
Преобразовать значение ячейки в число
 
Лайфхак. Если среди ячеек диапазона rg есть формулы и не нужно их преобразовывать в значения, то для преобразования текстов в числа иногда полезна констукция
Код
rg.Formula=rg.Formula
Применять с ясным пониманием последствий!
Изменено: sokol92 - 02.09.2021 14:08:21
Владимир
Ошибка при поиске методом find и next.find vba
 
Когда Вы пишите .FindNext, то это относится к выражению With, которое, увы, отсутствует.
Изменено: sokol92 - 02.09.2021 13:25:22
Владимир
Узбекские буквы в макросах выводятся как знак вопроса (?)
 
Можно в ячейках скрытого листа держать нужные тексты, а в макросе на эти ячейки ссылаться. Подробности - в этой теме.
Изменено: sokol92 - 01.09.2021 21:08:09
Владимир
Способы определения языка строки VBA
 
Здравствуйте, Алексей! Макрос из #9 выделяет цветом все буквы, не относящиеся к русскому алфавиту. Кроме латыни, в Unicode есть еще много-много букв из разных алфавитов (греческие, расширенная латынь,  арабские и т.д.).
Владимир
Способы определения языка строки VBA
 
Рекомендую использовать указанный по ссылке подход в следующей редакции.
Код
' Раскрашивает в Selection в красный цвет буквы, не относящиеся к русскому алфавиту
Sub ShowNotRussian()
  Dim r As Range, i As Long, t As String, v
  Application.ScreenUpdating = False
  For Each r In Intersect(Selection, Selection.Parent.UsedRange).Cells
    v = r.Value
    If VarType(v) = vbString Then
      For i = 1 To Len(v)
        t = Mid(v, i, 1)
        If LCase(t) <> UCase(t) And Not LCase(t) Like "[а-яё]" Then r.Characters(Start:=i, Length:=1).Font.ColorIndex = 3
      Next i
    End If
  Next r
  Application.ScreenUpdating = True
End Sub

Аналогично для латыни.

Далее можно использовать автофильтр по цвету текста и выделить все опечaтки (кстати, есть в этом тексте).
Изменено: sokol92 - 27.08.2021 17:44:43
Владимир
Способы определения языка строки VBA
 
См. эту статью и комментарии к ней.
Владимир
Пакетная замена текста в Word по словарю в Excel
 
А пробелов в заменяемом тексте не будет? Типа "310 + 001"
Владимир
VBA - как добраться до хэндлов окна Просмотр и Отслеживание загрузок в Internet Explorer 11
 
Отлично (для второго макроса)! Selenium  - достаточно мощный инструмент. На форуме были примеры его использования.
Владимир
Числовой фильтр видит дату-время как текст
 
Для "лечения" своего файла выделите все ячейки листа (CTRL+A) и выполните макрос:
Код
Sub Test()
  Selection.FormulaLocal = Selection.FormulaLocal
End Sub
Владимир
Пакетная замена текста в Word по словарю в Excel
 
Добрый день! А "+" единственный символ в словаре (столбец A), отличный от буквы и цифры? Если есть еще такие символы, то укажите все.
Владимир
Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 124 След.
Наверх