Запуск IE свернутым в трей при открытии ячейки со ссылкой
Пользователь
Сообщений: Регистрация: 01.02.2017
27.03.2017 12:08:59
так если запустить команду - то запускается экземпляр IE свернутый но одновременно + и открытый экземпляр IE запускается по клику на ячейку
Код
If ActiveCell.Value Like "*http://*" Or ActiveCell.Value Like "*https://*" Then
Shell "cmd.exe /c " & "start/min" & " " & "iexplore.exe"
End If
как прикрутить команду Shell "cmd.exe /c " & "start/min" & " " & "iexplore.exe" на экземпляр IE который открывается по клику на ячейке со ссылкой ?
Запуск IE свернутым в трей при открытии ячейки со ссылкой
Пользователь
Сообщений: Регистрация: 01.02.2017
25.03.2017 18:44:29
можно конечно так - но IE прорывается все равно в случайном порядке(хотя обложил с двух сторон) - при этом методе хотелось бы чисто сделать когда прорвется на ссылку IE (нейтрализовать его в трей чтоб не мелькал на экране - поэтому и вопрос в теме - добавить скрытие IE в трей) либо есть у кого вариант нейтрализовать IE по умолчанию (совет браузер по умолчанию не подходит - файл с макросом портабле на флешке и тд включение на разных компах получается)
Код
If ActiveCell.Value Like "*http://*" Or ActiveCell.Value Like "*https://*" Then
Shell "cmd.exe /c " & "Taskkill" & " " & "/f" & " " & "/im" & " " & "iexplore.exe"
Shell KMeleonPath & " " & url, vbNormalNoFocus
Shell "cmd.exe /c " & "Taskkill" & " " & "/f" & " " & "/im" & " " & "iexplore.exe"
Else
Exit Sub
End If
Изменено: - 25.03.2017 19:34:16
Запуск IE свернутым в трей при открытии ячейки со ссылкой
Запуск IE свернутым в трей при открытии ячейки со ссылкой
Пользователь
Сообщений: Регистрация: 01.02.2017
25.03.2017 17:13:14
ссылку на примеры можно ?
Запуск IE свернутым в трей при открытии ячейки со ссылкой
Пользователь
Сообщений: Регистрация: 01.02.2017
25.03.2017 16:49:21
как понимаю командную строку и API привлекать нужно
Запуск IE свернутым в трей при открытии ячейки со ссылкой
Пользователь
Сообщений: Регистрация: 01.02.2017
24.03.2017 14:53:24
Добрый день всем !
Как запускать IE свернутым в трей при открытии ячейки со ссылкой ?? (и потом открыть своим браузером - эта часть понятна) Пробую так не получается все равно IE вылазит на экран
Код
Shell "C:\Program Files (x86)\Internet Explorer\iexplore.exe" & ActiveCell.Value, vbMinimizedFocus 'при 64 разр винде в 2-х местах сидит IE минимизируем окно открытия
Shell "C:\Program Files\Internet Explorer\iexplore.exe" & ActiveCell.Value, vbMinimizedFocus
Shell """" & ThisWorkbook.Path & "\OperaPortable\Opera.exe""" & ActiveCell.Value, vbNormalFocus 'открываем своим браузером
Как сминимизировать окно IE при открытии ссылки из активной ячейки ? Так не получается - активизируем Microsoft Internet Controls в reference
Код
Dim IE As Object
Set IE = CreateObject("InternetExplorer.Application")
IE.Visible = False
Так тоже не получается
Код
Dim IE As New InternetExplorer
IE.Visible = False
Изменено: - 25.03.2017 17:26:29
Открытие заданной ссылки в браузере
Пользователь
Сообщений: Регистрация: 01.02.2017
24.03.2017 11:03:41
вот так получилось запустить K-Meleon - не воспринимает он код с "-url"
Через командную строку так нормально прокатывает как в синтаксе "C:\KMeleonPortable\k-meleon.exe" те глюков нет Почему тогда через VBA не получается ?
Изменено: - 24.03.2017 09:26:56
Открытие заданной ссылки в браузере
Пользователь
Сообщений: Регистрация: 01.02.2017
23.03.2017 22:02:43
Добрый вечер всем !
Вопрос специфичный - столкнулся с такой проблемой Для открытия в портабельном браузере посредством макроса все получается в портабельных Chrom,Firefox,Opera в директории файла Excel
Пишет "Некорректный адрес URL недействителен и не может быть загружен.Синтаксис указанного адреса некорректен. Проверьте адрес на наличие ошибок и попробуйте снова."
2)Если пробуем так без адреса все корректно браузер запускается с домашней страницей
так тоже не получается - вообще не видит google.com (другие браузеры на подобный код нормально все)
Почему так ? Как поправить синтаксис адресной строки для K-Meleon чтоб ошибок не было ? Синтаксис здесь так написан
Open to a specific URL A URL for example: "C:\Program Files\K-Meleon\k-meleon.exe"
Пробую явно прописать директорию - ошибки нет но требуемую страницу не открывает (просто открывается с домашней страницы) .При этом другие браузеры на основе Cromium нормально работают с этим кодом.
Код
X = Shell("""C:\KMeleonPortable\k-meleon.exe""" & """https://google.com""", vbNormalNoFocus)
Изменено: - 23.03.2017 23:07:37
Условие для диапазонов ячеек после автофильтра
Пользователь
Сообщений: Регистрация: 01.02.2017
06.03.2017 17:51:45
ошибки дает код ругается на строки Set Rng1 = AutoFilter.Range.Columns(7).SpecialCells(12) 'устанавливаем Rng1 для фильтрованного диапазона в колонке 7 Закрыть ошибку On Error Resume Next ??
Код
Dim Rng1 As Range, Rng2 As Range
With ThisWorkbook.ActiveSheet
Set Rng1 = AutoFilter.Range.Columns(7).SpecialCells(12) 'устанавливаем Rng1 для фильтрованного диапазона в колонке 7
Set Rng2 = AutoFilter.Range.Columns(18).SpecialCells(12) 'устанавливаем Rng2 для фильтрованного диапазона в колонке 18
End With
Условие для диапазонов ячеек после автофильтра
Пользователь
Сообщений: Регистрация: 01.02.2017
02.03.2017 11:42:54
так получается и как сейчас перебрать значения ячеек отфильтрованных на совпадение или несовпадение значений ?
Код
Dim Rng1 As Range, Rng2 As Range
'определяем диапазоны Rng1 и Rng2 для условий для видимых ячеек после автофильтра
With ThisWorkbook.ActiveSheet
Set Rng1 = AutoFilter.Range.Columns(7).SpecialCells(12) 'устанавливаем Rng1 для фильтрованного диапазона в колонке 7
Set Rng2 = AutoFilter.Range.Columns(18).SpecialCells(12) 'устанавливаем Rng2 для фильтрованного диапазона в колонке 18
If ActiveSheet.AutoFilter.Filters(7).On Or ActiveSheet.AutoFilter.Filters(18).On Then 'если автофильтр в 7 или 18 столбце включен'и как прописать эти условия ??
If "Значения отфильтрованных ячеек в диапазоне Rng1 одинаковы" And "Все Значения отфильтрованных ячеек в диапазоне Rng1 = "Test""
And "Значения отфильтрованных ячеек в диапазоне Rng2 одинаковы" And "Все Значения отфильтрованных ячеек в диапазоне Rng2 > 0" Then
'Условие1
End If
If "Значения отфильтрованных ячеек в диапазоне Rng1 неодинаковы-несовпают" And "Значения отфильтрованных ячеек в диапазоне Rng2 неодинаковы-несовпают" Then
'Условие2
End If
Else
Exit Sub
End With
Изменено: - 02.03.2017 13:07:10
Условие для диапазонов ячеек после автофильтра
Пользователь
Сообщений: Регистрация: 01.02.2017
01.03.2017 22:21:01
Всем здравствуйте ! Столкнулся с проблемой как прописать условие для видимых ячеек после автофильтра в диапазонах 7 и 18 столбца (начиная с 4 отфильтрованной строки до последней заполненной отфильтрованной строки)
думаю что алгоритм такой 1)определить Range диапазонов где будут выполняться условия 2)применить свои условия к ячейкам этого Range только в видимом диапазоне (после автофильтра) примерно так
но как задать требуемые условия для отфильтрованных ячеек не знаю (тк условие только для видимых ячеек)
Код
Dim Rng1 As Range, Rng2 As Range
'определяем диапазоны Rng1 и Rng2 для условий для видимых ячеек после автофильтра
'With ThisWorkbook.ActiveSheet.Range("A1:AH1000").SpecialCells(xlVisible)
'With ThisWorkbook.ActiveSheet.Range("A1:AH1000").SpecialCells(12)
With ThisWorkbook.ActiveSheet
LastRow = .Cells(.Rows.Count, 1).End(xlUp).Row
Set Rng1 = .Range(.Cells(4, 7), .Cells(LastRow, 7))
Set Rng2 = .Range(.Cells(4, 18), .Cells(LastRow, 18))
If ActiveSheet.AutoFilter.Filters(7).On Or ActiveSheet.AutoFilter.Filters(18).On Then 'если автофильтр в 7 или 18 столбце включен
'и как прописать эти условия ??
If "Значения отфильтрованных ячеек в диапазоне Rng1 одинаковы" And "Значение отфильтрованных ячеек в диапазоне Rng1 = "Test""
And "Значения отфильтрованных ячеек в диапазоне Rng2 одинаковы" And "Значения отфильтрованных ячеек в диапазоне Rng2 > 0" Then
'Условие1
End If
If "Значения отфильтрованных ячеек в диапазоне Rng1 неодинаковы-несовпают" And "Значения отфильтрованных ячеек в диапазоне Rng2 неодинаковы-несовпают" Then
'Условие2
End If
Else
Exit Sub
End With
Изменено: - 01.03.2017 22:36:06
Открыть гиперссылку в ячейке другим браузером (не браузером по умолчанию) в диапазоне
Пользователь
Сообщений: Регистрация: 01.02.2017
18.02.2017 13:52:41
Тогда так делаем без снятия гиперссылок - вроде заработало
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(ActiveCell, Range("C4:C5003")) Is Nothing Then
If Target.Cells.Count > 1 Then Exit Sub
Dim url As String
Dim operaPath As String
operaPath = """" & ThisWorkbook.Path & "\OperaPortable\OperaPortable.exe"""
url = ActiveCell.Value
If ActiveCell.Value Like "*http://*" Or ActiveCell.Value Like "*https://*" Then
Shell operaPath & url, vbNormalNoFocus
Shell "cmd.exe /c " & "Taskkill" & " " & "/f" & " " & "/im" & " " & "iexplore.exe"
Else
Exit Sub
End If
End If
End Sub
Изменено: - 18.02.2017 14:10:02
Открыть гиперссылку в ячейке другим браузером (не браузером по умолчанию) в диапазоне
Пользователь
Сообщений: Регистрация: 01.02.2017
18.02.2017 11:14:46
Кажется нашел в каком направлении копать - нужно сначала снять гиперссылку в активной ячейке - потом открывать своим браузером - потом (после открытия страницы) по желанию вернуть гиперссылку на ячейку те если в ячейке только текст ссылки - не гиперссылка - то браузер по умолчанию не открывается и открывается только выбранный браузер однако сейчас в таком коде все равно лезет браузер по умолчанию - хотя с ячейки предварительно снимаю гиперссылку отдельным If
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(ActiveCell, Range("C4:С100")) Is Nothing Then
If Target.Cells.Count > 1 Then Exit Sub
Dim url As String
Dim operaPath As String
operaPath = """" & ThisWorkbook.Path & "\OperaPortable\OperaPortable.exe"""
url = ActiveCell.Value
If ActiveCell.Value <> "" Then
Selection.Hyperlinks.Delete
Else
Exit Sub
End If
If ActiveCell.Value Like "*http://*" Or ActiveCell.Value Like "*https://*" Then
'Selection.Hyperlinks.Delete
'Application.Wait Now + TimeSerial(0, 0, 10)
Shell operaPath & url, vbNormalNoFocus
Else
Exit Sub
End If
End If
End Sub
Изменено: - 18.02.2017 11:20:31
Открыть гиперссылку в ячейке другим браузером (не браузером по умолчанию) в диапазоне
Пользователь
Сообщений: Регистрация: 01.02.2017
17.02.2017 20:12:36
вы какбы обходите администратора можно под администратором ведь пароль и логин администратора знаю комп локальный решение не сетевое значит батники пишем в реестр а что делать тупо но надежно ( хотя с какой стороны посмотреть ?? - антивирус точно будет ругаться на макрос на изменение в реестре) тупик .... будем искаать
Изменено: - 17.02.2017 20:33:41
Открыть гиперссылку в ячейке другим браузером (не браузером по умолчанию) в диапазоне
Пользователь
Сообщений: Регистрация: 01.02.2017
17.02.2017 19:51:09
изменил текст путь 2 Батник делаем 2 шт - один меняет другой возвращает ? Если так то делаем *.bat файл со сменой значения реестра потом по условию клика "не в диапазоне" делаем 2 *.bat файл который возвращает значения реестра ? Ни разу не делал такого - интересно
Изменено: - 17.02.2017 20:02:09
Открыть гиперссылку в ячейке другим браузером (не браузером по умолчанию) в диапазоне
Пользователь
Сообщений: Регистрация: 01.02.2017
17.02.2017 19:37:28
а что делать легких путей не ищем будем искать на англицком я думаю что проще изменить браузер по умолчанию программно а потом вернуть как это сделать пока на знаю но это снимает промежуточные проблемы тут подходит ваш путь 2 regedit
Изменено: - 17.02.2017 19:49:43
Открыть гиперссылку в ячейке другим браузером (не браузером по умолчанию) в диапазоне
Пользователь
Сообщений: Регистрация: 01.02.2017
17.02.2017 19:27:13
че то не хочется колдовать с Replace и загонять в переменные хочется более изящное решение и плюсом проблема одновременного открытия 2 браузеров не решится только гиперссылка решится
Изменено: - 17.02.2017 19:31:03
Открыть гиперссылку в ячейке другим браузером (не браузером по умолчанию) в диапазоне
Пользователь
Сообщений: Регистрация: 01.02.2017
17.02.2017 19:17:45
тогда так чтоли делать забыли заменить или неправ
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(ActiveCell, Range("C4:C100")) Is Nothing Then
If Target.Cells.Count > 1 Then Exit Sub
If InStr(Target.FormulaLocal, "ГИПЕРССЫЛКА") > 0 Then
Shell """" & ThisWorkbook.Path & "\OperaPortable\OperaPortable.exe""" & "ГИПЕРССЫЛКА", vbNormalFocus
End If
End If
End Sub
Изменено: - 17.02.2017 19:20:17
Открыть гиперссылку в ячейке другим браузером (не браузером по умолчанию) в диапазоне
Пользователь
Сообщений: Регистрация: 01.02.2017
17.02.2017 18:19:29
Добрый вечер всем ! Данная тема конечно подымалась на страницах форума но ответа для моего случая не нашел На листе в диапазоне С4:C100 в ячейках гиперссылки Их надо открывать только портабельным браузером Opera ("""" & ThisWorkbook.Path & "\OperaPortable\OperaPortable.exe""") - папка с портабельным браузером в директории файла При этом есть InternetExplorer который открывает ссылки по умолчанию - его надо исключить (советы по смене браузера по умолчанию в данной ситуации не подходят) Задаем чем открывать что открывать Чем открывать - ("""" & ThisWorkbook.Path & "\OperaPortable\OperaPortable.exe""") - папка с портабельным браузером Что открывать - активную ячейку только в диапазоне С4:C100 с гиперссылкой
1. Проблема1 -Вот так будет работать если явно задать www-адрес вариации разные 1.1) x = Shell("""" & ThisWorkbook.Path & "\OperaPortable\OperaPortable.exe""" & """", vbNormalNoFocus) 1.2)operaPath = """" & ThisWorkbook.Path & "\OperaPortable\OperaPortable.exe""" Shell (operaPath & " -url ), vbNormalFocus 1.3)Shell """" & ThisWorkbook.Path & "\OperaPortable\OperaPortable.exe""" & "", vbNormalFocus итого Проблема1 - будет открываться Opera которая явно задана и одновременно автоматом другой браузер по умолчанию (а нужно чтобы только Opera открывалась)
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(ActiveCell, Range("C4:C100")) Is Nothing Then
If Target.Cells.Count > 1 Then Exit Sub
x = Shell("""" & ThisWorkbook.Path & "\OperaPortable\OperaPortable.exe""" & """http://www.planetaexcel.ru""", vbNormalNoFocus)
'operaPath = """" & ThisWorkbook.Path & "\OperaPortable\OperaPortable.exe"""
'Shell (operaPath & " -url http://www.planetaexcel.ru"), vbNormalFocus
'Shell """" & ThisWorkbook.Path & "\OperaPortable\OperaPortable.exe""" & "http://www.planetaexcel.ru", vbNormalFocus
End If
Exit Sub
2.Проблема2 связанная - видимо нужно ввести myHyperlink.Address либо просто Hyperlink.Address либо ActiveCell.Text чтоб реагировало правильно на клик в ячейке 1.1) x = Shell("""" & ThisWorkbook.Path & "\OperaPortable\OperaPortable.exe""" & myHyperlink.Address, vbNormalNoFocus) 1.2)operaPath = """" & ThisWorkbook.Path & "\OperaPortable\OperaPortable.exe""" Shell (operaPath & " -url ), vbNormalFocus 1.3)Shell """" & ThisWorkbook.Path & "\OperaPortable\OperaPortable.exe""" & myHyperlink.Address, vbNormalFocus
не получается так или Hyperlink.Address или его не использовать - сделать ActiveCell.Text ?
Как задать свой браузер чтоб открывался только он по клику на активную ячейку с гиперссылкой(а браузер по умолчанию не открывался при этом) и как ввести Hyperlink.Address правильно ?
Изменено: - 17.02.2017 18:51:08
Закрыть приложение из командной строки средствами VBA
Закрыть приложение из командной строки средствами VBA
Пользователь
Сообщений: Регистрация: 01.02.2017
16.02.2017 23:09:59
на блокнот работает так -только терминальное окно иногда вылазит и скрытие в трей - есть какие варианты ?
Код
Set WshShell = CreateObject("WScript.Shell")
CheckRun = "C:\Windows\System32\notepad.exe"
Set WshExec = WshShell.Exec(CheckRun)
WshExec.Terminate
Изменено: - 16.02.2017 23:15:40
Закрыть приложение из командной строки средствами VBA
Пользователь
Сообщений: Регистрация: 01.02.2017
16.02.2017 22:56:13
Забыл подробность - у меня портабельный Chrome в директории с файлом пробую так - тоже не получается
Код
Set WshShell = CreateObject("WScript.Shell")
CheckRun = """" & ThisWorkbook.Path & "\ChomiumPortable\chrome.exe"""
Set WshExec = WshShell.Exec(CheckRun)
WshExec.Terminate
Закрыть приложение из командной строки средствами VBA
Пользователь
Сообщений: Регистрация: 01.02.2017
16.02.2017 22:01:12
Вечер добрый всем ! Нужно закрыть приложение по командной строке windows средствами VBA Вроде простая задача но почему так трудно .... Почему именно так - нужно закрыть браузер Chrom при открытии нескольких независимых окон - сделать так чтобы закрыть все окна Chrom и выйти из браузера Что имеем штатными средствами чтобы так сделать: 1) ключами после ..... /Chrome.exe - нет таких ключей что дебильно ключей туча и такого нет (полный список ключей на ) 2)Горячие клавиши Выход Ctrl + Shift + q (Выход) и Ctrl + Shift + w (Закрыть все открытые вкладки и браузер) ( () путем Application.SendKeys ("^+(w)") и Application.SendKeys ("^+(q)") не работает в VBA при скрытии нескольких окон браузера в трей - окна неактивны получается и горячие клавиши не помогут
Есть путь к файлу chrome.exe C:\Program Files (x86)\Chrome\Chrome.exe и процесс в диспетчере задач windows Остается убить процесс в диспетчере чтоб все окна закрылись и выйти из Chrome
Как это сделать средствами VBA макросом ? Есть конечно Taskkill - завершение процесса из командной строки() или по этому пути Shell ("c:\windows\system32\cmd.exe /c dir > C:\Program Files (x86)\Chrome\Chrome.exe") но как это сделать макросом или проще есть методы ? Так не работает к сожалению Shell ("c:\windows\system32\cmd.exe Taskkill /f /im chrome.exe") и так Shell ("c:\windows\system32\cmd.exe /c dir > Taskkill /f /im chrome.exe") не получается
Изменено: - 16.02.2017 22:36:11
Извлечь заданное количество цифр из текста
Пользователь
Сообщений: Регистрация: 01.02.2017
16.02.2017 15:03:00
благодарю за помощь - работает ! Только вот не понимаю строки If .test(this) Then что это ...
Извлечь заданное количество цифр из текста
Пользователь
Сообщений: Регистрация: 01.02.2017
16.02.2017 13:50:21
попробовал усовершенствовать функцию для цифр - если строка пустая или нет цифр в конце текста после пробела то выходим из функции на строку полностью пустую работает а вот на условие если нет цифр в конце текста после пробела не работает в чем ошибка?
Код
Public Function LastLongNumber(ByVal this As String) As String
Dim sSymbol As String 'заводим переменную для подсчета общего количества цифр в строке
If this = "" Then LastLongNumber = "": Exit Function ' если исходная ячейка пустая выходим из функции
With CreateObject("VBScript.RegExp")
.Pattern = "[^0-9,]" 'паттерн на все цифры
sSymbol = .Replace(srcStr, vbNullString) 'вводим в переменную все цифры
If Len(sSymbol) > 4 Then 'если общее количество цифр в строке >4 - а это значит что длинный номер в конце строки присутствует
.Pattern = " \d{6,20}$" 'паттерн на длинный номер после пробела в конце текста
LastLongNumber = Trim$(.Execute(this)(0).Value) ' извлекам номер от 6 до 20 символов после пробела в конце строки
Else 'иначе выходим из функции
Exit Function
End If
End With
End Function
Изменено: - 16.02.2017 14:26:54
Извлечь заданное количество цифр из текста
Пользователь
Сообщений: Регистрация: 01.02.2017
12.02.2017 09:53:23
Так получилось Для цифр (благодарю ) - все работает кроме варианта если вдруг нет такого условия (паттерна нет такого)то ошибка идет - как побороть?
Код
Public Function LastLongNumber(ByVal this As String) As String
With CreateObject("VBScript.RegExp")
.Pattern = " \d{6,20}$"
LastLongNumber = Trim$(.Execute(this)(0).Value)
End With
End Function
Для текста так получилось - все вроде корректно работает без ошибок - не ругается на отсутствие условия (паттерна)
Код
Function TextOnly(srcStr As String) As String
Dim objRegEx As Object
Set objRegEx = CreateObject("VBScript.RegExp")
With objRegEx
.Global = True
'.Pattern = "[0-9,]" ' так все цифры некорректно удаляет
.Pattern = " \d{6,20}$" ' все что до \d{6,20}$
TextOnly = .Replace(srcStr, vbNullString)
End With
Set objRegEx = Nothing
End Function
Изменено: - 12.02.2017 11:32:10
Извлечь заданное количество цифр из текста
Пользователь
Сообщений: Регистрация: 01.02.2017
12.02.2017 00:09:07
Макросом требуется а текст до цифр тогда так будет ?
Добрый вечер всем ! Макрос вытаскивает из текста цифры и текст отдельно но критерии немного другие нужно Вытаскивать только цифры в конце текста: Цифры в конце текста: всегда начинаются с пробела всегда в конце текста количество от 6 до 20 цифр
Вытаскивать только текст: текст это то что остается после вытаскивания последних цифр
Как прописать .Pattern в макросе чтобы соответствовал этим критериям ?
Код
Function NumbersOnly(srcStr As String) As String
Dim objRegEx As Object
Set objRegEx = CreateObject("VBScript.RegExp")
With objRegEx
.Global = True
.Pattern = "[^0-9,]" ' последние цифры нужны после [\s....] пробела
NumbersOnly = .Replace(srcStr, vbNullString)
End With
Set objRegEx = Nothing
End Function
Function TextOnly(srcStr As String) As String
Dim objRegEx As Object
Set objRegEx = CreateObject("VBScript.RegExp")
With objRegEx
.Global = True
.Pattern = "[0-9,]" ' все что осталось после [^....]
TextOnly = .Replace(srcStr, vbNullString)
End With
Set objRegEx = Nothing
End Function
Sub TextDoCifr()
ActiveCell.Offset(0, 1).Value = TextOnly(ActiveCell.Text)
End Sub
Sub CifraRight()
ActiveCell.Offset(0, 2).Value = NumbersOnly(ActiveCell.Text)
End Sub
Copy paste с форматированием текста в ячейку
Пользователь
Сообщений: Регистрация: 01.02.2017
10.02.2017 21:05:43
попробовал так все совместить и пр не прокатило
Код
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Application.EnableEvents = False
'предварительное форматирование
Range("A1:Y85").Select
Selection.NumberFormat = "@"
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
With Selection.Font
.Name = "Calibri"
.FontStyle = "обычный"
.Size = 8
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ThemeColor = xlThemeColorLight1
.TintAndShade = 0
.ThemeFont = xlThemeFontMinor
End With
'конец предварительное форматирование
If IsEmpty(Target.Cells(1, 1)) Then
Target = Empty
Else
Target.Copy
Application.Undo 'ошибка идет
Target.PasteSpecial xlPasteValues
Sh.PasteSpecial NoHTMLFormatting:=True
End If
Application.EnableEvents = True
End Sub