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

Вход

Регистрация

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

 

= Мир MS Excel/Озвучивание слова по внешней гиперссылке - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Озвучивание слова по внешней гиперссылке
Taurus Дата: Вторник, 22.12.2015, 15:34 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 13
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Уважаемые специалисты !
Нужна помощь в решении следующей задачи. Собираюсь выложить в свободный доступ файл для тех, кто хочет начинать изучать английский язык.
Версия файла урезанная, но самое главное суть проблемы.
Поскольку не имею представления о VBA, на одном из форумов подсказали замечательный код (он уже в файле) по озвучке слов. Но обстоятельства немного изменились и нужно внести в него изменение.
Основной смысл в том, что каждое слово в ячейках I9, I15, I18 озвучивается при нажатии на соответствующую ссылку в столбце O, это работает, но [/b]при условии, что в ячейке слово I9 прописано либо без формулы, либо как выпадающий список.
Появилась необходимость вытягивать из выпадающего списка (ячейка I8) слово (без цифры), в ячейку I9 и чтобы обязательно сохранилась озвучка слов (I9, I15, I18)..
P/s. Сам выпадающий список ячейки I8 является зависимым от ячейки O2 (через формулу ДВССЫЛ).



К сообщению приложен файл: Irregular_Verb.rar (84.9 Kb)
 
Ответить
СообщениеУважаемые специалисты !
Нужна помощь в решении следующей задачи. Собираюсь выложить в свободный доступ файл для тех, кто хочет начинать изучать английский язык.
Версия файла урезанная, но самое главное суть проблемы.
Поскольку не имею представления о VBA, на одном из форумов подсказали замечательный код (он уже в файле) по озвучке слов. Но обстоятельства немного изменились и нужно внести в него изменение.
Основной смысл в том, что каждое слово в ячейках I9, I15, I18 озвучивается при нажатии на соответствующую ссылку в столбце O, это работает, но [/b]при условии, что в ячейке слово I9 прописано либо без формулы, либо как выпадающий список.
Появилась необходимость вытягивать из выпадающего списка (ячейка I8) слово (без цифры), в ячейку I9 и чтобы обязательно сохранилась озвучка слов (I9, I15, I18)..
P/s. Сам выпадающий список ячейки I8 является зависимым от ячейки O2 (через формулу ДВССЫЛ).




Автор - Taurus
Дата добавления - 22.12.2015 в 15:34
SLAVICK Дата: Вторник, 22.12.2015, 16:52 | Сообщение № 2
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация: 766 ±
Замечаний: 0% ±

2019
Может я не совсем понял - но помоему достаточно поменять:
[vba]
Код
If Not Intersect(Target, [I9]) Is Nothing And [I9].Value <> "" Then
на
If Not Intersect(Target, [I8:I9]) Is Nothing And [I9].Value <> "" Then
[/vba]
И удалил в Вашем коде, как мне кажется лишнее. :)
Но достаточно заменить вышеуказанное.
К сообщению приложен файл: Irregular_Verb-.xlsm (54.9 Kb)


Иногда все проще чем кажется с первого взгляда.

Сообщение отредактировал SLAVICK - Вторник, 22.12.2015, 16:53
 
Ответить
СообщениеМожет я не совсем понял - но помоему достаточно поменять:
[vba]
Код
If Not Intersect(Target, [I9]) Is Nothing And [I9].Value <> "" Then
на
If Not Intersect(Target, [I8:I9]) Is Nothing And [I9].Value <> "" Then
[/vba]
И удалил в Вашем коде, как мне кажется лишнее. :)
Но достаточно заменить вышеуказанное.

Автор - SLAVICK
Дата добавления - 22.12.2015 в 16:52
devilkurs Дата: Вторник, 22.12.2015, 17:10 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 167
Репутация: 43 ±
Замечаний: 0% ±

Excel 2007, 2010
SLAVICK, за тобой не угонишься :D :D :D

Я в I9 вставил формулу
Код
=ПСТР($I$8;НАЙТИ(".";I8)+2;10)


По коду сделал так же как у Славика. (в плане заменить строку)

Только еще добавил бы EnableEvents, чтоб не гонял макрос по кругу в холостую
[vba]
Код
Application.EnableEvents = False
    ActiveSheet.Hyperlinks.Add Anchor:=[O9], Address:=xxx & "\" & [I9].Value & ".wav", TextToDisplay:="Кликнуть для озвучивания"
    ActiveSheet.Hyperlinks.Add Anchor:=[O16], Address:=xxx & "\" & [I15].Value & ".wav", TextToDisplay:="Кликнуть для озвучивания"
    ActiveSheet.Hyperlinks.Add Anchor:=[O19], Address:=xxx & "\" & [I18].Value & ".wav", TextToDisplay:="Кликнуть для озвучивания"
Application.EnableEvents = True
[/vba]
и
[vba]
Код
Sub удалить_ссылки()
Application.EnableEvents = False
.....................
Application.EnableEvents = True
End Sub
[/vba]


 
Ответить
СообщениеSLAVICK, за тобой не угонишься :D :D :D

Я в I9 вставил формулу
Код
=ПСТР($I$8;НАЙТИ(".";I8)+2;10)


По коду сделал так же как у Славика. (в плане заменить строку)

Только еще добавил бы EnableEvents, чтоб не гонял макрос по кругу в холостую
[vba]
Код
Application.EnableEvents = False
    ActiveSheet.Hyperlinks.Add Anchor:=[O9], Address:=xxx & "\" & [I9].Value & ".wav", TextToDisplay:="Кликнуть для озвучивания"
    ActiveSheet.Hyperlinks.Add Anchor:=[O16], Address:=xxx & "\" & [I15].Value & ".wav", TextToDisplay:="Кликнуть для озвучивания"
    ActiveSheet.Hyperlinks.Add Anchor:=[O19], Address:=xxx & "\" & [I18].Value & ".wav", TextToDisplay:="Кликнуть для озвучивания"
Application.EnableEvents = True
[/vba]
и
[vba]
Код
Sub удалить_ссылки()
Application.EnableEvents = False
.....................
Application.EnableEvents = True
End Sub
[/vba]

Автор - devilkurs
Дата добавления - 22.12.2015 в 17:10
Taurus Дата: Вторник, 22.12.2015, 18:29 | Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 13
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
=ПСТР($I$8;НАЙТИ(".";I8)+2;10)

Господа, спасибо, что обратили внимание на мою тему...
Изначально, не мог показать более расширенную версию файла (из-за ограничений в 100 Kb), но проблема в том, что если "вытягивать" значение через формулу, то при смене выпадающего списка в ячейке О2 (это как бы уровень, который выбирает себе ученик), полностью затирает формулу в ячейке I9 (=ПСТР($I$8;НАЙТИ(".";I8)+2;10)) .
Во вложении чуть более расширенная версия...добавлен доп. лист, чтобы работал выпадающий список ячейки О2.
На выпадающий список О2, ссылается связанный с ним выпадающий список ячейки I8. Т.е. выбираем в О2 - ТОП_50, следовательно I8 - содержит 50 слов, выбираем ТОП-100 и уже I8 - содержит 100 слов.
[b]Вот только проблема, как подтянуть значение в ячейку I9 без цифры ? Формула затирается, если изменять значение в О2 !!!
P/s.
Я изначально использовал найденный вариант (=Substring(имя листа _ адрес_ячейки;;2), работает также (отсекает лишнее), но также значение пропадает при смене значения в О2.
Во вложении файл из ссобщения SLAVICK + дополнительный лист 100=70%.
К сообщению приложен файл: Irregular_Verb.xlsm (74.0 Kb)
 
Ответить
Сообщение
=ПСТР($I$8;НАЙТИ(".";I8)+2;10)

Господа, спасибо, что обратили внимание на мою тему...
Изначально, не мог показать более расширенную версию файла (из-за ограничений в 100 Kb), но проблема в том, что если "вытягивать" значение через формулу, то при смене выпадающего списка в ячейке О2 (это как бы уровень, который выбирает себе ученик), полностью затирает формулу в ячейке I9 (=ПСТР($I$8;НАЙТИ(".";I8)+2;10)) .
Во вложении чуть более расширенная версия...добавлен доп. лист, чтобы работал выпадающий список ячейки О2.
На выпадающий список О2, ссылается связанный с ним выпадающий список ячейки I8. Т.е. выбираем в О2 - ТОП_50, следовательно I8 - содержит 50 слов, выбираем ТОП-100 и уже I8 - содержит 100 слов.
[b]Вот только проблема, как подтянуть значение в ячейку I9 без цифры ? Формула затирается, если изменять значение в О2 !!!
P/s.
Я изначально использовал найденный вариант (=Substring(имя листа _ адрес_ячейки;;2), работает также (отсекает лишнее), но также значение пропадает при смене значения в О2.
Во вложении файл из ссобщения SLAVICK + дополнительный лист 100=70%.

Автор - Taurus
Дата добавления - 22.12.2015 в 18:29
SLAVICK Дата: Вторник, 22.12.2015, 18:47 | Сообщение № 5
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация: 766 ±
Замечаний: 0% ±

2019
полностью затирает формулу в ячейке I9 (=ПСТР($I$8;НАЙТИ(".";I8)+2;10)) .

А зачем вообще удалять эту формулу из I9?
Достаточно удалить значение с I8 - формула покажет "".
Получилось так:
К сообщению приложен файл: 7642475.xlsm (73.9 Kb)


Иногда все проще чем кажется с первого взгляда.

Сообщение отредактировал SLAVICK - Вторник, 22.12.2015, 18:48
 
Ответить
Сообщение
полностью затирает формулу в ячейке I9 (=ПСТР($I$8;НАЙТИ(".";I8)+2;10)) .

А зачем вообще удалять эту формулу из I9?
Достаточно удалить значение с I8 - формула покажет "".
Получилось так:

Автор - SLAVICK
Дата добавления - 22.12.2015 в 18:47
Taurus Дата: Вторник, 22.12.2015, 19:03 | Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 13
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
А зачем вообще удалять эту формулу из I9?
Достаточно удалить значение с I8 - формула покажет ""

В первоначальной версии затиралась формула в I9 при переключении списка в О2...В этой версии файла всё работает...Огромное спасибо за помощь...
Ученики будут довольны :hands:, а Ваше имя укажу на доске почета :) clap
 
Ответить
Сообщение
А зачем вообще удалять эту формулу из I9?
Достаточно удалить значение с I8 - формула покажет ""

В первоначальной версии затиралась формула в I9 при переключении списка в О2...В этой версии файла всё работает...Огромное спасибо за помощь...
Ученики будут довольны :hands:, а Ваше имя укажу на доске почета :) clap

Автор - Taurus
Дата добавления - 22.12.2015 в 19:03
  • Страница 1 из 1
  • 1
Поиск:

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