Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Вставка гиперссылок через InputBox без кавычек - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Вставка гиперссылок через InputBox без кавычек (Макросы/Sub)
Вставка гиперссылок через InputBox без кавычек
ceHnau Дата: Среда, 14.07.2021, 09:36 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 16
Репутация: 0 ±
Замечаний: 20% ±

Здравствуйте!
Наконец-то мой первый, вручную написанный макрос) Естественно он "комом".

Суть: выделил ячейку, нажал кнопку, в вышедшем окошке ввел ссылку, ссылка привязалась.
Трудность: ссылка копируется в формате "ххх", т.е. сразу с " по бокам. В итоге, чтобы макрос работал нужно вручную удалять эти скобки в начале и конце. Что я делаю не так?
[vba]
Код
Sub Вставить_ссылку()
' Вставить_ссылку Макрос
    Dim ssilka As Variant
    ssilka = InputBox("Введите ссылку, удалив скобки в начале и конце")
        If ssilka = "" Then
        ' нажали отмену
        Else
    ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:= _
    ssilka
    End If
End Sub
[/vba]

P.S.: макрос нужен, т.к. стандартные методы вызывают дикие лаги - папки, на которые ссылаюсь, находятся на сетевом диске и Excel каждый раз разворачивает весь путь в итоговую папку с 3тыс+ папок.
К сообщению приложен файл: 6267696.xlsm (15.3 Kb)
 
Ответить
СообщениеЗдравствуйте!
Наконец-то мой первый, вручную написанный макрос) Естественно он "комом".

Суть: выделил ячейку, нажал кнопку, в вышедшем окошке ввел ссылку, ссылка привязалась.
Трудность: ссылка копируется в формате "ххх", т.е. сразу с " по бокам. В итоге, чтобы макрос работал нужно вручную удалять эти скобки в начале и конце. Что я делаю не так?
[vba]
Код
Sub Вставить_ссылку()
' Вставить_ссылку Макрос
    Dim ssilka As Variant
    ssilka = InputBox("Введите ссылку, удалив скобки в начале и конце")
        If ssilka = "" Then
        ' нажали отмену
        Else
    ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:= _
    ssilka
    End If
End Sub
[/vba]

P.S.: макрос нужен, т.к. стандартные методы вызывают дикие лаги - папки, на которые ссылаюсь, находятся на сетевом диске и Excel каждый раз разворачивает весь путь в итоговую папку с 3тыс+ папок.

Автор - ceHnau
Дата добавления - 14.07.2021 в 09:36
Serge_007 Дата: Среда, 14.07.2021, 10:10 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2748 ±
Замечаний: ±

Excel 2016
Здравствуйте

вручную удалять эти скобки в начале и конце
Какие скобки?


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
СообщениеЗдравствуйте

вручную удалять эти скобки в начале и конце
Какие скобки?

Автор - Serge_007
Дата добавления - 14.07.2021 в 10:10
ceHnau Дата: Среда, 14.07.2021, 10:41 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 16
Репутация: 0 ±
Замечаний: 20% ±

Какие скобки?

Пример ссылки в файле: "C:\Program Files"
Чтобы макрос пахал, в InputBox нужно ввести: C:\Program Files
Т.е. без кавычек/скобок - "
При этом в Windows ссылки/путь всегда с этими кавычками копирует.
 
Ответить
Сообщение
Какие скобки?

Пример ссылки в файле: "C:\Program Files"
Чтобы макрос пахал, в InputBox нужно ввести: C:\Program Files
Т.е. без кавычек/скобок - "
При этом в Windows ссылки/путь всегда с этими кавычками копирует.

Автор - ceHnau
Дата добавления - 14.07.2021 в 10:41
Serge_007 Дата: Среда, 14.07.2021, 11:09 | Сообщение № 4
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2748 ±
Замечаний: ±

Excel 2016
[vba]
Код
Sub Вставить_ссылку()
' Вставить_ссылку Макрос
    Dim ssilka As String
    ssilka = WorksheetFunction.Substitute(InputBox("Введите ссылку"), """", "")
        If ssilka = "" Then
        ' нажали отмену
        Else
    ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:=ssilka
    End If
End Sub
[/vba]


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение[vba]
Код
Sub Вставить_ссылку()
' Вставить_ссылку Макрос
    Dim ssilka As String
    ssilka = WorksheetFunction.Substitute(InputBox("Введите ссылку"), """", "")
        If ssilka = "" Then
        ' нажали отмену
        Else
    ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:=ssilka
    End If
End Sub
[/vba]

Автор - Serge_007
Дата добавления - 14.07.2021 в 11:09
ceHnau Дата: Среда, 14.07.2021, 11:37 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 16
Репутация: 0 ±
Замечаний: 20% ±

WorksheetFunction.Substitute

Спасибо - понял принцип замены текста!
 
Ответить
Сообщение
WorksheetFunction.Substitute

Спасибо - понял принцип замены текста!

Автор - ceHnau
Дата добавления - 14.07.2021 в 11:37
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Вставка гиперссылок через InputBox без кавычек (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!