Пока суперспециалисты спорят о классах, хтмл и прочем высоком, вернёмся на грешную землю к сермяжно-посконному подходу к решению данной задачи. Если слегка подрихтовать кувалдой и ломом предыдущий колхозный вариант, то из буфера в Word вставляется в простом виде, а не табличкой. В схему работы макроса добавлен нюанс: всю строку во временной книге, куда вставляем текст, делаем объединённой. Проверено на 2010(32), про остальное ничего не могу сказать.
Идея с Word понятная, но если не хочется заморачиваться с VBA в Word, то можно заморочиться с VBA Excel. В файле макрос для копирования форматированного текста в буфер.
Кратко работает так: Создаём временную скрытую книгу Excel. Берём текст и помещаем его в скрытую книгу. Там в ячейке форматируем как надо (в макросе - только ячейку с первым текстом, вторую оставляем как есть). Копируем в буфер нужные ячейки (в макросе - 2 ячейки). Переходим в нужное приложение и вставляем куда надо.
Если потом в Excel что-то поменять на листе, то значок Вставить становится неактивным и Ctrl+C также не срабатывает. Но если развернуть буфер обмена, то можно вставить отформатированные данные оттуда.
В макросе временная книга сама закроется при закрытии основного файла (Workbook_BeforeClose в модуле Эта Книга)
Минусы метода через Excel: в Word и другие программы данные из буфера вставляются как табличка, что не всегда нужно. Поэтому вариант макроса с непосредственным задействованием Word имеет смысл. Возможно, кто-то сможет реализовать.
Проверял на 2021 Excel, Word, Outlook. Про остальное - не знаю.
ЗЫ. Вариант от nilske с классами - классный! Жаль, что не хватает тямы разобраться в нём...
Да нет, там в формуле =СЧЁТЕСЛИМН(МР!H4:O2386;">=01.01.2023";МР!H4:O2386;"<01.01.2024") надо просто заменить O2386 на H2386. Ну и, конечно, даты в просто года (типа 2023) в других столбцах смущают...
Не всегда корректно понимает, что формула нужна для русского Excel. Да и сами формулы иногда несуществующие.
Для теста задал: Вычисли количество дней в месяце текущего года, если сам месяц написан текстом по-русски. Для Excel 2010 русской локализации. Выдаёт формулы типа =ДНЕЙВМЕС(ДАТА(ГОД(СЕГОДНЯ());СООТВ(МЕСЯЦ();"январь";"февраль";"март";"апрель";"май";"июнь";"июль";"август";"сентябрь";"октябрь";"ноябрь";"декабрь"}));1) =ДНЕЙВМЕС($A$1&" "&ГОД(СЕГОДНЯ()), НОМЕРМЕС($A$1)) =ДНЕЙВМЕС("01/"&МЕСЯЦ(СЕГОДНЯ())&"/"&ГОД(СЕГОДНЯ());1) и т.п.
Как прикольная игрушка сойдёт. Но пока даже из кучи выданных формул ни одна так и не сработала нормально. Более того, только одна какая-то простая формула не выдала ошибки, хоть и считала неверног, а остальные все были с большими и малыми косяками.
В примере водитель уже проставлен. Это так изначально выгружается или Водитель по какому-то принципу проставляется потом руками? Если так, то каков принцип привязки? По номерам заказов? И т.н. "следующее" обновление таблицы как выглядит? Там заказы те же самые или уже новые?
В Офисах после 2013 (или 2016) года напрочь отсутствует помощь F1 без подключения к Интернету. По VBA – с 2013. Понятно, что в сети помощь подробнее и местами даже понятнее, но не всегда получается быть постоянно подключенным к Интернету. В Интернетах тоже кое-чего понаписано на эту тему. Но как-то однозначного решения нет. Были и тут похожие темы по этому поводу, но только по VBA, напр. Как отучить редактор VBA лезть в интернет за справкой?, Office 2016. В нём ссылка на блог Павлова с рекомендацией, как установить справку, но она по VBA и вообще на нерусском, что не всегда удобно. Кто как справляется с этой бедой?
Если бы тема была размещена в общем форуме (бесплатном), то давно уже ответили, что при данной постановке задачи она не решаема из-за циклических ссылок. Но так как это раздел Работа, то пусть считается, что я вышенаписанного не писал.
Макрос для записи результатов вычислений на другом листе, Данные и результат вычислений должны находиться на одном листе, а вычисления проходить на другом листе.
Если макрос такой, что просто перенести что-то с одного листа на другой, то тут ничего сложного и помогут бесплатно. Но вообще ответ зависит от того, что за вычисления будут проведены на Листе2, т.к. никаких пояснений по ним нет. Из этого невозможно определиться с ценой, если делать платно. Думаю, лучше будет написать подробнее, что за вычисления и возможно ,сразу в разделе Работа.
Количество просмотров обновляется не сразу, если зайти в тему, выйти и обновить данные. А обновляется потом сразу на несколько штук за раз. Это свойства движка такие? Какое время обновления этих данных?
Поймал кол-во прочтений Правил на 666665, зашёл туда, перечитал, вышел, обновил страницу, но минут 15 ничего не менялось, потом сразу стало 666670.
Возможно, тема должна быть в Курилке, прошу тогда модераторов её перенести.
Как в ActiveX-Combobox создать свой список, не привязанный к области на листе - не знаю. Наверное, спецы подскажут.
Как альтернатива можно создать форму, в ней выводить нужный список при активации нужной ячейки с подгонкой ширины под самый длинный текст. Смотри Лист1: при активации К3 появится листбокс со списком. Можно такое же соорудить и с комбобоксом.
Как вариант, можно переввести точку в настройках. Т.е. примерно так: - Ввести, например, слеш. - Закрыть всё и перезагрузить комп. - Запустить комп и ввести в настройку опять точку.
На других компах дата отображается нормально, с обычной точкой? Сразу лучше было бы выложить сюда файл с проблемной датой.
Поздравляю сайт и всех с юбилеем: 100000 (сто тысяч) сообщений в основном форуме! Юбиляром оказался свежий пользователь SacredSinner с своём первом же сообщении на форуме.
Хотел найти по форуму что-то для темы Можно ли объединенные ячейки выровнять по высоте текста (макросом)? В поиске (не важно, Поиск в меню сверху или Поиск по сайту в самом низу справа) ввожу объединённые ячейки высота или объединенные ячейки высота - результат разный. Совпадения, конечно, есть, но они из-за того, что в других сообщениях темы кто-то написал У вместо Ё и наоборот. Можно проверить ещё фразу пересчёт формул - то же самое. Учитывая, что поиск тут типа якобы "умный", то следовало бы ожидать одинаковый результат. Или не так? Смотрел в Опере на Виндоус7.
Если верить всяким википедиям и прочим сайтам, то Значащие цифры - это примерно и есть тот смысл, который описал АТ изначально, хоть и не совсем удачно. Т.е. количество достоверных цифр, если их представить в экспоненциальной записи. Возможно, Рябов - больше физик или инженер, чем аналитик или программист. AlexM в примере #13 округлял самую последнюю ненулевую цифру, но если следовать заданию, т.е. оставить 3 (три) значащие цифры, то должно быть так: 5,01024 -> 5,01 15,01028 -> 15,0 16,010280001234 -> 16,0 17,010280001238 -> 17,0 Понятно, что в последних трёх случаях Excel отобразит 15, 16 и 17. Но это - проблемы Excel, а не самого смысла значащих цифр. По науке должно быть так: 0,456765543 -> 4.57·10⁻¹ -> 0.457 0,000000045675543 -> 4.57·10⁻⁸ -> 0,0000000457 5,01024321 -> 5.01 -> 5,01 (10⁰, насколько помню, не пишется) 15,010284321 -> 1.50·10¹ ->15.0 (отобразится в Excel:15) 5678901.2345 -> 5.68·10⁶ -> 5680000
Ну да, название темы не очень отображает суть. Но если почитать само сообщение, то примерно понятно, о чём речь. Ну, во всяком случае, как я это понял. АТ, т.е. автор темы - Илья Рябов, скорее всего, на самом деле закруглился. Но по поиску значащие цифры на форуме точно такого вопроса я не нашёл. Поэтому с использованием идеи из похожих ответов решил нацарапать свой вариант. Если АТ не будет против и великодушно согласится принять мой вариант названия темы, то можно назвать так: Формула округления числа до определённого количества значащих цифр. В предыдущем сообщении формула округляет до заявленных изначально трёх цифр. Ниже вариант формулы, где количество значащих цифр можно задать отдельно. В А1 - само число. В В1 - количество значащих цифр. =--ТЕКСТ($A$1;"#"&ПСТР(1/2;2;1)&ПОВТОР("#";$B$1-1)&"E+00") Понятно дело, что формула возвращает число и тогда при формате Общий последние значащие нули не отобразятся. Т.е. если число =26.40368, а количество значащих цифр задано =4, то в ячейке отобразится 26.4, а не 26.40, как должно быть по науке.
Тут на самом деле неясно, что является приоритетом, если идут два подряд или через один нужное значение: Искомое, Ниже или Выше. См. файл, строки 19-20 и 29-31 Ждём автора с пояснением.
Можно вариант решения DAB, но не совсем понятно, почему не отражено Искомое, если совпадает в той же строке. Тоже формулой. Но в любом случае неподходящие ячейки пустыми не будут, т.к. уже содержат формулу. См. файл. В столбце С вариант с пустой строкой, если никак не соответствует искомой. Если устраивает, то можно так и оставить. В столбце D - вариант с внесением ошибки в неподходящие ячейки. Это для случая, если эти ячейки должны быть реально пустыми. Для этого (вариант Excel2010) надо выделить нужный столбец, в меню Главная -> Найти и выделить -> Выделение группы ячеек -> Формулы -> оставить галку только на Ошибки -> ОК. Выделенными останутся только ячейки с ошибками, в которых надо Очистить содержимое (или нажать Del).
Начало правильное - попробовать макрорекордер. Но для поставленной задачи полученный макрос надо слегка доработать. См. файл. В коде макроса есть описание каждой строки, что делает.
ЗЫ. Наверное, копировать нужный диапазон в цикле - идея не очень хорошая, но это спецы пусть подскажут.
Как отличаются выходные от рабочих дней, только цветом? Штатными формулами нельзя определить цвет заливки ячейки. См. определить цвет ячейки формулой Ну и пример не совсем понятный. В какой ячейке надо посчитать? И формулы в ячейках АН11 и АН13 и ниже различаются.
Всё верно. И про названия тем, и про суть вопроса. Как к этому относиться? Как и раньше: если вопрос более-менее нормально задан, но требует уточнений, то переспросить. Если совсем муть написана, то не отвечать (тут, правда, я не знаю, в какой степени это относится к модераторам). Есть тут на форуме авторы, которым я пытался помогать, но в процессе оказывается, что есть ещё доп.условия, которые кардинально меняют суть вопроса, а автор их сразу не указал, "чтобы не усложнять". Опыт подсказывает, что некоторые из таких авторов так или иначе осознают это и задают уже нормальный вопрос. Не всегда вопрос может быть описан чётко, так как сам автор может не понимать, что ему надо. Если описано слишком кратко, то многие прочитав вопрос, ничего не поймут. Если всё описано подробно, то из-за "многабукв" могут даже и не прочитать. В том и другом случае просто пройдут мимо. Тут нельзя с ходу сказать, что лучше, а что хуже.
В общем, если кратко: кроме как оставить всё как есть, ничего посоветовать не могу.
Позанудствую ещё: в названии этой темы одна явная ошибка и одна явная очепятка. Как говорил М.С. Горбачёв: "Перестройку начни с себя".
Кажется, народ немного испорчен новомодными наворотами Excel и всякими коллекциями в коде VBA и т.д. Можно вернуться к основам идеи макросов - некая программа-помощник для работы с данными непосредственно на листе. Тогда идея макроса такая: просто проходим по всем строкам, одинаковые суммируем в первом товаре, остальные одинаковые удаляем. Тогда не надо будет следить за форматированием строки. А тем более оставлять пустые и т.п. Смотри в файле макрос UniteRows. Код не самый оптимальный, но зато простой и понятный, в общем, лампово-скрепоносный.