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

Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 161 След.
Преобразование текста на дату, Преобразование текста на дату
 
Подобные вопросы задавались на форуме много раз.
Для всех дат в "американском" формате.
Выделяем проблемные ячейки и выполняем макрос:
Код
Sub ConvertDates()
  Selection.NumberFormat = "m/d/yyyy"
  Selection.Value = Selection.Value
End Sub
Должно работать при любых региональных настройках.
Изменено: sokol92 - 13.09.2025 15:14:14
Владимир
Сохранение и восстановление фильтров VBA в таблицах - проблемы с датами, Написал макрос , вроде работает , но как разобраться с фильтрами по датам не понимаю
 
Цитата
написал:
не готов обрабатывать структуру xml .
Это и не требуется.
Схема такая:
Код
    ActiveWorkbook.CustomViews.Add ViewName:="TempView", RowColSettings:=True
    ' -------------------------------------------------
    ' Отключаем фильтр и выполняем необходимые действия
    ' -------------------------------------------------
    ActiveWorkbook.CustomViews("TempView").Show
Это решение менее трудоемко, чем иные.  :)
Можно попробовать.
Владимир
Сохранение и восстановление фильтров VBA в таблицах - проблемы с датами, Написал макрос , вроде работает , но как разобраться с фильтрами по датам не понимаю
 
Цитата
написал:
предполагаю что мелкософт не ответит на большинство вопросов типа : что такое скрытая строка - это строка скрытая фильтром или строка которой задана высота 0 , и как сработает если два условия (при обновлении) изменили свои значения ?
Мы сами можем попробовать ответить,что запоминается о фильтре при сохранении представления (Custom View).
Пример. Выставляем фильтр по первому столбцу  - значение больше 2. Сохраняем представление, сохраняем файл и смотрим (\xl\worksheets\sheet1.xml) :
Код
<customSheetView guid="{E147A63F-9B5A-438B-B940-526F71467680}" filter="1" showAutoFilter="1" topLeftCell="A4">
<pageMargins left="0.7" right="0.7" top="0.75" bottom="0.75" header="0.3" footer="0.3"/>
<autoFilter ref="A1:B5">
<filterColumn colId="0">
<customFilters>
<customFilter operator="greaterThan" val="2"/>
</customFilters>
</filterColumn>
</autoFilter>
</customSheetView
Надо попробовать.
Примеры программной работы с Custom View на форуме есть, например.
Изменено: sokol92 - 27.08.2025 19:53:08
Владимир
"Заменить" работает с ошибками, При использовании "Заменить" в некоторых ячейках удаляется первый символ и появляется знак -
 
Цитата
Тимофеев написал:
потому что запись (140) для Excel это -140

Дополню ответ коллеги.

Диалог "Найти и заменить" имеет некоторые особенности реализации.

После замены новое значение (текст) обрабатывается так, как в случае, когда пользователь непосредственно  вводит этот текст в ячейку. Например, если Вы введете в пустую ячейку, не имеющую текстовый формат,
(140)
то в результате в ячейку будет записано число
-140
Соответственно, это значение и проставляется после Вашей замены.
Самое печальное, что, в отличие от непосредственного ввода пользователем значения ячейки, диалог игнорирует "текстовый" формат ячейки.
Владимир
Печать книги Excel, Экономия места на бумаге при печати книги Excel
 
Цитата
Msi2102 написал:
Так пусть видит, кто бизнесу мешает, просто ещё один дополнительный лист
На дополнительном листе можно поэкспериментировать с инструментом "Камера".
Владимир
Проблема с Format Cells из-за языковых настроек
 
Если такая ситуация еще раз возникнет сообщите разработчику о баге.
Владимир
Проблема с Format Cells из-за языковых настроек
 
Цитата
Jul_25 написал:
На одном из устройств данный формат не распознается из-за написания слова «color» в регионах, отличных от США,

В русском языке тоже Color не используется.
Внутри файла описание формата должно быть такого типа:

Код
<numFmts count="1">
<numFmt numFmtId="168" formatCode="[Color10]#,##0;[Red]\(#,##0\);"/>
</numFmts>


поскольку в структурах файлов Excel применяются исключительно настройки в локализации en-US.
В системе Windows для локализации ru-RU код формата будут показан как

Код
[Цвет10]# ##0;[Красный](# ##0);



О какой конкретно проблемной системе MS Windows и версии Microsoft Excel идет речь?
Владимир
Текст в зависимости от числа, Преобразовать текст
 
Еще одна альтернатива: ВЫБОР.
Владимир
Дважды условное форматирование, Нужно позволять условное форматирование по дополнительному условию.
 
В исходном примере тип условного форматирования - трехцветная шкала.
Перейдите в диалог редактирования правила. Укажите Тип: Формула для всех трех цветов и введите тексты формул, при истинности которых ячейки будут покрашены соответствующим цветом. Формулы могут использовать любые ячейки строки.
Изменено: sokol92 - 10.08.2025 18:24:57
Владимир
Макросом изменят значения ячейки на на дату
 
В подобных случаях (порядок дня и месяца в тексте, похожем на дату,  соответствует порядку в настройках операционной системы) помогает макрос:

Код
Sub Test()
  Selection.FormulaLocal = Selection.FormulaLocal
End Sub


Перед запуском макроса выделите проблемные ячейки.
Изменено: sokol92 - 06.08.2025 13:31:54
Владимир
Некорректная работа условного форматирования в умной таблице, Не выделяется строка в умной таблице по условию после запуска макроса
 
Спасибо за видео и вариант исправления!

Причина проблемы - неправильно указан диапазон, к которому применяется второе правило условного форматирования. Диапазон должен начинаться не со второй строки (это заголовок), а с третьей.
Владимир
Не пропадают 0, 000
 
Цитата
ПавелW написал:
так в данном случае отрабатывает корректно:
При сравнении дробных чисел не следует использовать знак равенства. Можно писать так:
ABS(A1 - B1 - C1 - D1) < 1E- 10
где правая часть подбирается в зависимости от специфики задачи.
Владимир
Некорректная работа условного форматирования в умной таблице, Не выделяется строка в умной таблице по условию после запуска макроса
 
Опишите, пожалуйста, точную последовательность действий, приводящих к проблемной ситуации.
Я произвел следующие действия:
1. Открыл пример из стартового сообщения
2. Перешел на лист "Компания1" и в ячейку Q17 занес значение "Счет"
3. Исправил в коде макроса "SortFields.Add2" на "SortFields.Add" (метода Add2 в моей версии Excel 2016 нет).
4. Вернулся на лист "ГРАФИК ПЛАТЕЖЕЙ" и нажал кнопку "Добавить запись в график платежей". Сформировалась новая запись, в которой шрифт ячейки K5 (дата 14.02.1900) имеет красный цвет.
5. В ячейке O5 изменил значение на "Оплачен". Фон всех  ячеек строки изменился, шрифт в K5 имеет красный цвет.

Что не так?
Владимир
Макросом менять точку на запятую
 
Можно еще эту тему посмотреть.
Изменено: sokol92 - 20.07.2025 18:04:48
Владимир
Макросом менять точку на запятую
 
Ваша задача - преобразовать текстовые значения ячеек в числовые (а не заменить точку на запятую).
Выделите проблемные ячейки и запустите макрос:

Код
Sub Test()
  Selection.Replace " ", "", xlPart
  Selection.Value = Selection.Value
End Sub


После этого отформатируйте ячейки.
Владимир
Run-time error '91 Object variable or With block variable not set, ошибка возникает только при повторном запуске макроса
 
Версия: в проблемных случаях в полном пути к имени файла(ов) есть хотя бы одна буква русского алфавита. Это так?
Если да, то ответ здесь, пункт 3.4.
Изменено: sokol92 - 15.07.2025 17:25:53
Владимир
В версии 2016 и новее нет уведомления о сохранении изменения в файле
 
Я еще раз предлагаю Ввм педантично выполнить те же самые действия с тем же присланным Вами архивом в той же папке, что и я в сообщении #9.
Точно так же по пунктам сообщите результаты. Если какой-то из результатов отличается от моего, то сохраните проблемный файл (файлы) и вложите в сообщение (как я в #11).

Но можно этого и не делать. Если вас не интересует результат.
Изменено: sokol92 - 13.07.2025 21:07:15
Владимир
В версии 2016 и новее нет уведомления о сохранении изменения в файле
 
Вот нашел аналогичную тему на нашем форуме.
Владимир
В версии 2016 и новее нет уведомления о сохранении изменения в файле
 
Цитата
tony0303 написал:
И так происходит только на версиях с 2016
В Реестре Windows настройки MS Office разных версий хранятся отдельно. Возможно, у Вас что-то "испортилось" для версии 2016.
Сотни тысяч пользователей MS Excel 2016 в России (и мире) не согласятся c Вашими претензиями в адрес MS Excel 2016.  :)

На всякий случай проверьте, что у Вас на проблемном компьютере не установлены надстройки и личная книга макросов.
Изменено: sokol92 - 13.07.2025 18:05:07
Владимир
В версии 2016 и новее нет уведомления о сохранении изменения в файле
 
Цитата
tony0303 написал:
У меня стало просто СЕГОДНЯ, а была ссылка. При открытии файлов 1 и 2 все также ни чего не меняется...
Расшифруйте, пожалуйста, слова "у меня".
Надо сравнивать одни и те же объекты.
Вы воспроизводили в точности те же действия (включая те же папки),  которые я выполнил в #9?
Владимир
В версии 2016 и новее нет уведомления о сохранении изменения в файле
 
У Вас ячейка B1 листа "Лист1" файла "Общий.xlsx" из архива сообщения #8 содержит формулу (в русской локализации):
=СЕГОДНЯ()
Владимир
В версии 2016 и новее нет уведомления о сохранении изменения в файле
 
У меня в ячейках B2 и B3 в общем файле те же самые ссылки. Выкладываю файл "Общий" после сохранения.
Изменено: sokol92 - 13.07.2025 16:59:00
Владимир
В версии 2016 и новее нет уведомления о сохранении изменения в файле
 
У меня на компьютере Win10  Excel 2016 проблема не воспроизводится.

1. Развернул Вашу папку "Общая" из архива как подпапку C:\Temp.

2. Открыл файл C:\Temp\Общая\Общий.xlsx.  Отображаемое значение ячейки C3 со ссылкой
='C:\Temp\Общая\Индивидуальный\[3.xlsx]Лист1'!$A$1
равно 12.07.2025

3. Открыл и закрыл файл C:\Temp\Общая\Индивидуальный\3.xlsx. В файле "Общий" значение ячейки C3 поменялось 13.07.2025.

4. Пытаюсь закрыть файл "Общий" - выдается сообщение о необходимости сохранения изменений.
Закрываю без сохранения. Теперь все файлы закрыты.

5. Еще раз открываю файл "Общий".  Значение ячейки С3 - 13.07.2025. Пытаюсь закрыть файл "Общий" - выдается сообщение о необходимости сохранения изменений.
Владимир
В версии 2016 и новее нет уведомления о сохранении изменения в файле
 
Выложите образцы (для теста) индивидульного и общего файла и опишите точную последовательность действий, приводящую к проблеме.
Мы посмотрим на версиях Excel 2016 и 2019.
Владимир
Путем упрощения примера с ошибкой пришел к неожиданному открытию и не знаю как решить эту проблему, Бонус: способ как устроить ошибку "Разрушительный сбой" в абсолютно новом файле
 
Спасибо за исследование!
Последовательность действий, описанная Вами, приводит к разрушению структуры проекта книги (\xl\vbaProject.bin), после этого файл уже не отремонтировать.

Я не знаю, как сообщить разработчикам о баге.
Владимир
Путем упрощения примера с ошибкой пришел к неожиданному открытию и не знаю как решить эту проблему, Бонус: способ как устроить ошибку "Разрушительный сбой" в абсолютно новом файле
 
Проделал операции, указанные в стартовом сообщении, на компьютере с Win 10, Excel 2016 (32).
Результат прилагается.
У меня файл открывается в обычном режиме.
Изменено: sokol92 - 04.06.2025 17:08:05
Владимир
Вставка формулы в ячейку с помощью VBA
 
В макросах лучше (при прочих равных) не использовать локализованные свойства. Если Вашу книгу откроют на компьютере с Windows другой локализации, то макрос выдаст ошибку.
В Вашем случае можно так:
Код
Range("A1").Formula = "=TODAY()"
Владимир
При открытии файла - недоступный тип шифрования.
 
Официальная поддержка MS Office 2007 завершилась в 2017 году, так что сейчас вряд ли можно дать точный ответ.
Владимир
При открытии файла - недоступный тип шифрования.
 
Поисе приводит к подобной ситуации с версиями Excel 2007:

Цитата
Изначально был установлен офис версии 12.0.4518.1014 - он не поддерживает данный тип шифрования.
Офис версии 12.0.6612.1000 файл открывает корректно.
Владимир
Постраничная разбивка и сохранение при слиянии excel и word, Не получается через ActiveDocument.MailMerge.DataSource.DataFields.Value получить значение полей при процедуре слияния word и excel
 
Рад, успехов!
Изменено: sokol92 - 26.05.2025 21:12:31
Владимир
Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 161 След.
Наверх