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

Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 55 След.
Пауза макроса для выполнения другого, Как приостановить макрос
 
Просто у нас с автором темы отличается понимание последовательного и параллельного выполнения.
Владимир
Пауза макроса для выполнения другого, Как приостановить макрос
 
Цитата
БМВ написал:
оба работали параллельно
Здравствуйте, Михаил! Только с помощью запуска асихроннных методов объектов (параллельность в смысле Лобачевского :) ). Игорь приводил замечательный пример здесь.
Владимир
Не видно часть текста при выравнивании Justify
 
... или поставьте в форматировании ячеек по горизонтали распределенное (отступ), отступ  1.
Изменено: sokol92 - 18 Июл 2019 19:00:47
Владимир
Сводная таблица по нескольким диапазонам данных, модернизация макроса
 
А у меня выполняется (Excel 2016 32-разр). Не забудьте в сводной таблице перетянуть поля в область строк и значений.
Владимир
Сводная таблица по нескольким диапазонам данных, модернизация макроса
 
В цитируемой Вами в #1 статье есть способ 2. Поскольку порядок столбцов в диапазонах разный, используйте вместо конструкции
Select *
явное перечисление столбцов в нужном Вам порядке:
Select `артикул`,`наименование`
Изменено: sokol92 - 18 Июл 2019 14:31:10
Владимир
Комплексное обновление (изменение содержания) всех модулей n-кол-ва книг в папке через VBA из другой (ОСНОВНОЙ) книги
 
Советую еще почитать классику.
Владимир
QueryTable импорт формулы массива
 
Добрый день! Метод QueryTables.Add при правильном использовании никаких обрезаний не делает.
Замените в #1 в строке 24 Array(1) на Array(2) (xlTextFormat).
Что касается примера Андрея из #2, то при присвоении свойства value ячейки Excel напрочь игнорирует региональные настройки. Это касается не только формул, но и чисел, дат, ...
Изменено: sokol92 - 18 Июл 2019 12:42:04
Владимир
Ошибка 1004 при попытке выполнить ActiveWorkbook.SaveAs, если используется переменная папки.
 
Если в блокнот ничего не вставляется, значит Activecell.Formula не попала в буфер обмена (а должна). Это не проблемы с кодировками (в свойстве Formula латынь). Боюсь, дистанционно болезнь не вылечишь. Для начала можно переустановить офис (если другие приложения Windows работают нормально).
Владимир
Ошибка 1004 при попытке выполнить ActiveWorkbook.SaveAs, если используется переменная папки.
 
Введите в активную ячейку формулу:
Код
=ДАТА(2019;10;11)

Выполните макрос 2. Откройте программу Блокнот, нажмите Shift+Insert и выложите результат в сообщении.
Владимир
Макрос для парсинга географических адресов
 
Кстати, что Вы будете делать, получив ответ (json) как в #18. Что будет нормализованным адресом?
Профи выдают:119071,  г. Москва, Ленинский пр-кт, дом 5,  широта 55.6826756, долгота 37.5376624
А где это в ответе Яндекса?
Изменено: sokol92 - 17 Июл 2019 20:46:03
Владимир
Макрос для парсинга географических адресов
 
Обычно, обработка адреса стоит порядка 0,10 руб. за адрес. Большие базы можно разово отправить на обработку, при этом обещают скидки.
Более или менее приличные собственные макросы можно написать на основе соответствующих баз данных. ФИАС есть в открытых данных, занимает порядка 60 ГБ, ежедневно обновляется.
Владимир
Макрос для парсинга географических адресов
 
Сейчас ФНС РФ внедрила новую систему ФИАС (вместо КЛАДР). Сетевые сервисы выдают нормализованный адрес, ссылки на ФИАС,  географические координаты и многое другое. Кроме того, они достаточно неплохо сражаются с неполными адресами и адресами, содержащими опечатки и иные  ошибки.
Изменено: sokol92 - 17 Июл 2019 19:53:37
Владимир
Не работает гиперссылка
 
Подсказка. "Проблемные" листы имеют пробел в наименовании.
Владимир
Макрос для парсинга географических адресов
 
Цитата
borro написал:
кто-нибудь встречал хороший макрос
С профессиональным качеством, например, здесь.
Владимир
Обеспечение совместимости Excel VBA приложения для систем разной разрядности и с разными региональными установками.
 
Владимир, спасибо (хотел написать что-то подобное, проснулся, а всё уже сделано лучше задуманного). :)

Korshi, опасаться StrPtr нужно не более, чем вообще применения Windows API. И без этой функции неправильное использование API легко вырубает Excel, так что при отладке сохраняйте свои произведения как можно чаще. То, что некоторые называют функцию StrPtr недокументированной, это преувеличение, эта функция специально создана разработчиком для работы с API ("...указатели, которые могут передаваться операторам Declare").
Владимир
Обеспечение совместимости Excel VBA приложения для систем разной разрядности и с разными региональными установками.
 
Я с Excel работаю достаточно давно, так что на вопрос о том, когда и где узнал про функцию StrPtr, затрудняюсь ответить. Кроме VBA я писал программы и на C, что, несомненно, облегчает понимание данного предмета.

Будем считать подход, изложенный в #1, достоверным (проверен на многих функциях), пока не установлено обратное. :)  
Владимир
Обеспечение совместимости Excel VBA приложения для систем разной разрядности и с разными региональными установками.
 
Уважаемый Korshi, в #1 изложена точка зрения автора, подкрепленная примерами во вложении. Если у Вас есть ее опровержение или дополнение, то будет интересно с этим ознакомиться. Сообщение #30 вряд ли подходит для данной темы, для конкретных вопросов есть основная ветвь форума.
Владимир
Формат даты на русском и на английском, помогите разобраться с форматом времени
 
Здравствуйте, Михаил! По правилам могу отвечать только по этой теме :D  
Владимир
Формат даты на русском и на английском, помогите разобраться с форматом времени
 
Для затравки формулистам:
Код
=ПСТР(ГОД(E7)*10000 + МЕСЯЦ(E7)*100 + ДЕНЬ(E7); 3;6)
Владимир
Обеспечение совместимости Excel VBA приложения для систем разной разрядности и с разными региональными установками.
 
Здравствуйте, коллеги! Благодарю за внимание к теме.
Принципы работы с юникод-версиями Windows API описаны здесь. Главный инструмент исследования для автора этой темы, по меткому выражению Владимира (ZVI) - "грабли натоптанные". VBA Excel - отличный стенд для испытаний!
В пункте 3.4 сообщения #1 возможные инструменты перечислены в порядке предпочтения. Например, большинство Win API (юникод), предназначенных для файловых операций, "обернуты" соответствующими свойствами и методами объектов FSO и Shell.Application и их (API) прямое использование не имеет особого смысла. Справедливости ради упомяну, с другой стороны, функцию SHCreateDirectoryExW, не имеющую, насколько я понимаю, прямого аналога (см. также здесь).
Примеры вызова API (юникод) есть и во вложении к #1.

Если есть затруднения с переходом за юникод-версию с ANSI-версии какого-либо API, то думаю, что данная тема подходит для соответствующего обсуждения.
Изменено: sokol92 - 16 Июл 2019 16:18:24
Владимир
О байтах
 
Знакомая картина, я успел (много) поработать на макроассемблере IBM/360.
Изменено: sokol92 - 13 Июл 2019 21:16:05
Владимир
Как из текста-каши получить первое русское слово
 
Цитата
БМВ написал:
тут то все прозрачно
Особенно умножение матриц. :)  
Владимир
Как извлечь данные из файла по гиперссылка из ячейки
 
Цитата
БМВ написал:
это работа не с конкретным драйвом, а с UNC
Михаил, насколько я понимаю, при присвоении CurrentDirectory используется unicode версия API SetCurrentDirectoryW, так что будет работать со всеми методами задания директорий. По какой логике распределили оболочку над Win API между объектами FSO и Wscript.Shell мне не известно. Каждый раз подолгу ищу...
Владимир
Как извлечь данные из файла по гиперссылка из ячейки
 
Для будущих читателей темы добавлю, что менять (и восстанавливать) текущий каталог проще всего с помощью свойства CurrentDirectory объекта WScript.Shell.
"Родные" конструкции VBA не поддерживают Unicode.
Владимир
Как из текста-каши получить первое русское слово
 
Off. А сложность формул все растет... Как бы не случились события из этого рассказа.
Владимир
Автоматический ввод пароля при открытии файла
 
Успехов! Документацию на русском языке мы с Михаилом недавно обсуждали здесь.  :)  
Владимир
Не работает правая кнопка мыши при назначении макроса
 
Успехов! Мой вариант для случая, когда даже переустановка Excel не помогает...
Владимир
Автоматический ввод пароля при открытии файла
 
В методе Workbooks.Open есть два разных параметра: один для пароля для открытия, второй для пароля для разрешения редактирования.
Изменено: sokol92 - 13 Июл 2019 16:22:51
Владимир
Удаление китайского
 
Мне кажется, названию темы более соответствует следующий макрос (удаляет не только китайские иероглифы):
Код
Sub test()
  Dim cell As Range, s As String, i As Long
  For Each cell In ActiveSheet.UsedRange.Cells
    If Not cell.HasFormula And Len(cell.Value) > 0 And VarType(cell.Value) = vbString Then
      s = cell.Value
      For i = 1 To Len(s)
        If AscW(Mid(s, i, 1)) < 0 Or AscW(Mid(s, i, 1)) >= 16384 Then
          Mid(s, i) = " "
        End If
      Next i
      cell.Value = Application.Trim(s)
    End If
  Next cell
End Sub

Пожалуйста, исправьте #1 в соответствии с #3.
Владимир
Как извлечь данные из файла по гиперссылка из ячейки
 
Цитата
БМВ написал:
это все Владимир искушает
Имя болезни - перфекционизм (и не мы одни ей страдаем).  :)  
Изменено: sokol92 - 12 Июл 2019 15:54:40
Владимир
Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 55 След.
Наверх