Форум программистов, компьютерный форум, киберфорум
MS Office Excel
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/16: Рейтинг темы: голосов - 16, средняя оценка - 4.69
1 / 1 / 0
Регистрация: 27.06.2012
Сообщений: 10

Найти комбинацию из 5-ти цифр в одной ячейке и сделать гиперссылку по этому значению в другой

19.07.2012, 06:06. Показов 3280. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день!
Помогите, пожалуйста, с кодом.

Есть таблица в Excel'е, нужно написать макрос, который будет искать в текущей ячейке комбинацию из 5-ти цифр, далее будет переходить на 10 ячеек вправо и создавать гиперссылку.
текст гиперссылки = [найденная комбинация]
адрес гиперссылки = Documents\[найденная комбинация].doc

Данные в ячейке, в которой осуществляется поиск, выглядят примерно так: "Д.2012\07\12345"
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
19.07.2012, 06:06
Ответы с готовыми решениями:

Как сделать уловное форматирование в одной ячейке в зависимости от значения другой?
Добрый день! Подскажите пожалуйста, как сделать так, чтобы одна ячейка меняла цвет в зависимости от значений в другой? Т.е. при...

Копирование значения ячейки по значению в другой ячейке
Доброго времени суток! Прошу помощи в следующем. Есть книга из 3 листов (см. вложение). На листе "Входящие" записываю все...

Как сделать чтобы после перезаписи данных в ячейке, перезаписывалась галочка в другой ячейке?
Здравствуйте! Я хочу чтобы при изменении данных в ячейке "дата", снималась галка в ячейке "Выполнение"? Т.е. нужно чтобы при...

4
 Аватар для PingWiN0x20
55 / 55 / 8
Регистрация: 13.05.2010
Сообщений: 105
19.07.2012, 08:21
PureBasic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Sub CreateLinks()
    Dim i As Integer
    Dim s As String
    
    For i = 1 To 10
        s = Range("A" & i).Value
        If InStr(1, s, "56789") Then 'âìåñòî 56789 èñêîìûé òåêñò, ìîæíî ïåðåäàòü ïàðàìåòðîì â ôóíêöèþ
            Range("D" & i).Select
            ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:= _
        "C:\" & "56789" & ".xls" _
        , TextToDisplay:="56789"
        End If
    Next i
End Sub
На скорую руку. "56789", разумеется, нужно заменить на искомую комбинацию. В каком виде строка, в которой выполняется поиск не имеет значения.
1
1 / 1 / 0
Регистрация: 27.06.2012
Сообщений: 10
19.07.2012, 08:35  [ТС]
Я не знаю, какое именно значение будет в ячейке "56789" или "12345", но я точно знаю, что комбинация из 5-ти цифр подряд встретится там единожды.
Я не понимаю, как вычленить из этой ячейки 5 цифр и на их основе создать гиперссылку с таким именем, да еще и имя файла чтобы автоматически присваивалось.
0
 Аватар для PingWiN0x20
55 / 55 / 8
Регистрация: 13.05.2010
Сообщений: 105
19.07.2012, 09:01
Ну я не могу преподать основы программирования одним постом
Если все ячейки будут иметь формат вида "Д.2012\07\12345", то:

PureBasic
1
2
3
4
5
6
7
8
9
10
11
Sub CreateLinks()
    Dim i As Integer
    Dim s As String
    
    '"Д.2012\07\12345"
    For i = 1 To 10 'тут для примера проходим 10 ячеек, вообще меняешь на while и шлёпаешь пока в ячейках есть текст
        s = Right(Range("A" & i).Value, 5) 'копируем правые 5 символов
        Range("D" & i).Select 'выделяем ячейку под гиперссылку
        ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="C:\" & s & ".xls", TextToDisplay:=s
    Next i
End Sub
Во вложении рабочий пример. Сервис-Макрос-Макросы... Выполнить макрос CreateLinks.
Вложения
Тип файла: zip Example.zip (7.2 Кб, 31 просмотров)
1
1 / 1 / 0
Регистрация: 27.06.2012
Сообщений: 10
19.07.2012, 09:54  [ТС]
Большое спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
19.07.2012, 09:54
Помогаю со студенческими работами здесь

Найти среднее арифметическое и исключить элемент, наиболее близкий к к этому значению
Помогите решить задачку в Delphi!! В заданном массиве a1, a2, …, an исключить элемент, наиболее близкий к среднему арифметическому.

Поиск значения одной ячейки в другой ячейке
Здравствуйте, нужна помощь профессионалов Excel ))) Есть такая задача... Нужно найти значение из ячейки "С2" в ячейке...

Приплюсовывание числа одной ячейки как минут к другой ячейке
Формат ячеек столбца B - часы:минуты. Задача стоит такая: ввожу в ячейку столбца C от руки число, соответствующее количеству минут,...

Как присвоить кодам в одной ячейке текстовое значение в другой?
Здравствуйте! Работаю с базами ВЭД. В одном столбце имеются числовые коды, каждая совокупность которых (к примеру, 5 разных кодов)...

Поиск по ячейке одной таблицы и редактирование/создание поля в другой таблице
Пробовал и так: begin id:=datamodule1.ADOQuery1.FieldByName('Примечание_id').AsInteger; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru