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

Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 53 След.
Числа сохранить как текст в диапазоне ячеек vba
 
Замените в #7 строку 3 на
Код
.Value = .FormulaLocal
Владимир
Как получить номера строк выделенных ячеек с учетом фильтра для использования в макросе VBA?
 
От версии вряд ли зависит, я проверял на конфигурациях Excel 2007, Win XP и Excel 2016, Win 10. Скорее всего, за указанные в #6 три секунды браузер не успевает открыть и обработать Выши ссылки и вновь делает свое окно активным. Попробуйте изменить время паузы.
Владимир
Как получить номера строк выделенных ячеек с учетом фильтра для использования в макросе VBA?
 
Цитата
uv22 написал:
Насчет открытия в фоне наверно мне будет сложновато изучить WinAPI
Можно так. Обратите еще, пожалуйста, внимание на вызов браузера по умолчанию (для тех, у кого не установлена Opera).
Код
#If VBA7 Then
Declare PtrSafe Function SetForegroundWindow Lib "user32" (ByVal hwnd As LongPtr) As Long
#Else
Private Declare Function SetForegroundWindow Lib "user32" (ByVal hwnd As Long) As Long
#End If

Sub OpenBrowser()
    Dim lr As Long
    Dim i As Long
    For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row
        If Rows(i).Hidden = False Then
            Shell "cmd /c start https://yandex.ru/search/?text=" & Cells(i, [Таблица1].ListObject.ListColumns("Name").Range.Column).Value
        End If
    Next i
    Application.Wait Now + 3 / 24 / 3600   ' ждем 3 секунды
    SetForegroundWindow Application.hwnd   ' делаем Excel активным окном
End Sub
Изменено: sokol92 - 25 Июн 2019 14:01:38
Владимир
Обработка событий динамически создаваемых элементов управления пользовательских форм
 
Цитата
Amberalex написал:
Обновление должно происходить после выхода из textbox, т.е. события change.
Уточнение: событие Change возникает после ввода каждого символа в TextBox. После завершения изменения Textbox возникают события AfterUpdate и Exit, но мне, увы, неизвестно, как можно динамически организовать перехват этих событий.

Для модераторов название темы: "Обработка событий динамически создаваемых элементов управления пользовательских форм"
Изменено: sokol92 - 24 Июн 2019 18:36:50
Владимир
Макрос в EXCEL 2019 сохранить как, Excel 2019
 
Такой же вариант, что в #15, но с обработкой ошибок:

Код
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    If SaveAsUI Then
        With Application.FileDialog(msoFileDialogSaveAs)
            .InitialFileName = Join(Array("ПИ-" & [B2] & "_" & Format([B3], "YYYY_MM_DD") & "_" & Replace([B4], "/", "~")), "") & "_" & Replace([B5], "/", "~") & "_" & Replace([B6], "/", "~")
            .FilterIndex = 2  ' тип: Книга Excel c поддержкой макросов
            If .Show = -1 Then
                Application.EnableEvents = False
                On Error Resume Next
                .Execute
                On Error GoTo 0
                Application.EnableEvents = True
            End If
        End With
        Cancel = True
    End If
End Sub
Владимир
Значения из свойств файла
 
Подобная тема обсуждалась, например, здесь.
Владимир
Открыть формат lstz при помощи Excel
 
Успехов!
Владимир
Открыть формат lstz при помощи Excel
 
Выполнил следующие действия в системе "Консультант-Плюс".

1. Зашел в "Избранное" / Документы на контроле.
2. Импортировал (F3) Ваш файл Example.lstz
3. Нажал F9 (или построить Дерево-список в контекстном меню). Открылся обычный список
4. Далее Ctrl+A, Ctrl+Insert и вставил в новую книгу Excel.

Результат прилагаю.
Изменено: sokol92 - 23 Июн 2019 12:26:28
Владимир
Открыть формат lstz при помощи Excel
 
В системе "Консультант-Плюс" Вы можете в списке документов на контроле нажать F9 для преобразования в обычный список.
Далее, Ctrl+A, Ctrl+Insert и вставляете в Excel.
Владимир
как вставить дату через textbox как дату
 
Цитата
Андрей VG написал:
код надо смотреть
Здравствуйте, Андрей! В коде есть копирайт автора (Игорь), так что есть кому смотреть. :)  
Владимир
Импорт свойств файла *pdf в таблицу excel
 
Здравствуйте, коллеги! Проверил штук 30 pdf-файлов (с графикой и без) - замечаний нет.
Владимир
При копировнии избежать замены символа Ø на Æ.
 
Еще раз.
1. Если речь действительно идет о символе  Ø , то он в любом шрифте (кроме Symbol и т.п.) отображается нормально
2. Если речь все-таки идет о символе  Æ  , который Вы, благодаря шрифту Symbol, считаете символом диаметра, то нужно либо как указал Игорь в #6 отображать этот знак шрифтом Symbol, либо изменить на Ø, чтобы в дальнейшем не отслеживать шрифты (шрифт Symbol не использовать).
Замену можно выполнить макросом:
Код
Cells.Replace ChrW(198), ChrW(216)
Владимир
При копировнии избежать замены символа Ø на Æ.
 
Символ остается самим собой (посмотрите в строке формул или с помощью функции AscW). То, что указанный Вами шрифт отображает эти символы таким образом, так еще Козьма Прутков заметил ...
Изменено: sokol92 - 21 Июн 2019 13:06:02
Владимир
При копировнии избежать замены символа Ø на Æ.
 
Цитата
Станислав Вьюжанин написал:
после обработки
Символ Ø в массиве строк VBA может превратиться в символ Æ только с творческой помощью программиста. :)

Редактор VBE не поддерживает юникод, соответственно, эти символы и показывает Вам как "?".
Владимир
Как склонить фамилии имена и отчества в родительном падеже?
 
Девичьи фамилии склоняются по общему правилу. С двойными сложнее (цитата из Розенталя):
Цитата
В русских двойных фамилиях первая часть склоняется, если она сама по себе употребляется как фамилия, например: песни Соловьева-Седого, картины Соколова-Скаля. Если же первая часть не образует фамилии, то она не склоняется, например: исследования Грум-Гржимайло, в роли Сквозник-Дмухановского, скульптура Демут-Малиновского.
Изменено: sokol92 - 16 Июн 2019 17:13:03
Владимир
Как склонить фамилии имена и отчества в родительном падеже?
 
Двойные фамилии пишутся через дефис. В #8, вероятно, речь идет о прежней (девичьей) фамилии.
Владимир
как в VBA отследить вставку/удаление строки (столбца)?
 
Исправил вложение в #22. Пробуйте!
Владимир
Ошибка с активацией книги при копировании с помощью надстройки
 
Надо видеть другой файл. Попробуйте из него удалить "конфиденциальные" данные, сохранив при этом неработоспособность. :)  
Владимир
Ошибка с активацией книги при копировании с помощью надстройки
 
Уберите перехват ошибок (строка 2) и Вы увидите, что происходит на самом деле.
Если не сможете сами разобраться, то приложите файл-пример.
Владимир
Пользовательская функция ВПР2 возвращает 0 если не находит совпадения, а не ошибку
 
Цитата
s_bag написал:
Но это как-то странно.
Поскольку Вы не указали в #1 тип возвращаемого значения, то по умолчанию тип функции - Variant. Соответственно, возвращаемое значение инициализируется как Empty и в случае ненахождения возвращается Empty.
Используйте в VBA тип Long, а не Integer  - избежите многих неприятностей. Например, в #1 переменная i не может быть больше, чем 32767, а строк на листе может быть гораздо больше.
Владимир
Копирование активной книги/файла
 
Успехов, Алексей!
Маленькое дополнение. Создавать и удалять объекты (особенно в цикле) - недешёвое удовольствие. Следующий трюк (функция GetFSO) обходит это препятствие. Объект FileSystemObject будет создаваться однократно (и в случаях сброса проекта).
Код
' Возвращает объект FileSysTemObject
Function GetFSO() As Object
  Static fso As Object
  If fso Is Nothing Then
    Set fso = CreateObject("Scripting.FileSystemObject")
  End If
  Set GetFSO = fso
End Function

Sub FileCopy2(ByVal Source, ByVal Destination)
  GetFSO.CopyFile Source, Destination
End Sub

Sub test()
  FileCopy2 "C:\Temp\пример.xlsm", "C:\Temp\Пример2.xlsm"
End Sub
Изменено: sokol92 - 14 Июн 2019 13:30:53
Владимир
Копирование активной книги/файла
 
Как всегда, первый кандидат для такого рода операций - объект FileSystemObject (метод CopyFile).
"Родные" методы VBA не поддерживают юникод и возникают проблемы, если имена файлов (и/или папок) содержат, например, символы расширенной латиницы (подробнее здесь, пункт 3.4).
Изменено: sokol92 - 14 Июн 2019 13:04:52
Владимир
Как отключить автоматическое преобразование текста в гиперссылку при двойном клике на ячейке
 
Описано, например, здесь.
Владимир
Печать всех столбцов на 1 листе VBA.
 
Штатное решение:
Код
Sub OnePageWide()
  With ActiveSheet.PageSetup
    .Zoom = False
    .FitToPagesWide = 1
    .FitToPagesTall = False
  End With
End Sub
Владимир
Почему ОКРГЛВВЕРХ работает неточно?
 
А я даже внимания не обратил, исправил в уме автоматически, как Яндекс. Тоже пора отдыхать.
Владимир
Почему ОКРГЛВВЕРХ работает неточно?
 
Михаил, повторюсь, что в приближенных вычислениях при аппроксимации бесконечных периодических дробей за последний разряд никогда нельзя поручиться. Полагаться на то, что в компьютерных вычислениях (в двоичной системе счисления)
22.1+0.1=22.2
как в #7 - ошибка.
С целыми числами (в известном диапазоне) таких "казусов" не случается.
Изменено: sokol92 - 12 Июн 2019 21:24:49
Владимир
Почему ОКРГЛВВЕРХ работает неточно?
 
Здравствуйте, Михаил! Напоминаю, что Вы работаете с рациональными аппроксимациями (знаменатель - степень двойки) нецелых чисел, MATCH ищет точное совпадение. В случае арифметических операций с нецелыми числами (кроме дробей со знаменателем, равным степени 2) никогда нельзя поручиться за последний разряд.
Функции округления просто уменьшают погрешность аппроксимации до минимально возможного значения.
Изменено: sokol92 - 12 Июн 2019 19:56:12
Владимир
Почему ОКРГЛВВЕРХ работает неточно?
 
Мы уже обсуждали это.
Владимир
Вытащить ФИО из адреса почты имя.фамилия@домен.рф
 
Off. Интернет осведомлен обо всем.
Изменено: sokol92 - 12 Июн 2019 12:48:04
Владимир
Вытащить ФИО из адреса почты имя.фамилия@домен.рф
 
Цитата
PooHkrd написал:
переводчики
Обсуждалось здесь (как ни странно)
Владимир
Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 53 След.
Наверх