powered by simpleCommunicator - 2.0.38     © 2025 Programmizd 02
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Вставка в ячейку что-то типа "переход по клику на другую ячейку"?
18 сообщений из 18, страница 1 из 1
Вставка в ячейку что-то типа "переход по клику на другую ячейку"?
    #38005683
_11_22_33
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Можно ли сделать так:
Кликнуть на Листе 1 по определённой ячейке и переместиться на Лист 2 в заданную ячейку?
...
Рейтинг: 0 / 0
Вставка в ячейку что-то типа "переход по клику на другую ячейку"?
    #38005698
Казанский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Это "что-то" называется гиперссылкой :) Ctrl+K ...
...
Рейтинг: 0 / 0
Вставка в ячейку что-то типа "переход по клику на другую ячейку"?
    #38005740
_11_22_33
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, это первое. что я пробовал. но неудачно - не смог разобраться.
Чтобы яснее стала моя проблема:
Лист 1 - перечень содержимого заказов, допустим, 5 заказов по 20 позиций в каждом. Столбец А - номер заказа(содержимое повторяется 20 раз), столбец В - наименование позиции. Итого 100 строк.
У каждого Заказа есть поле Описание(Примечание) - текстовое 255 знаков. Добавлять его на Лист 1 в заголовок каждого заказа нельзя - придётся объединять много ячеек, что наложит ограничения на работу с листом.
Поэтому возникает Лист 2: Столбец А - номер заказа, столбец В - Описание заказа.
Хочется, что бы при клике по ячейке А листа 1 происходил переход на лист 2 в ячейку А с таким же значением.
...
Рейтинг: 0 / 0
Вставка в ячейку что-то типа "переход по клику на другую ячейку"?
    #38005769
_11_22_33
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А с гиперссылкой немного разобрался, только вот не могу понять как мне программно задавать ячейку-адресат, ведь она задаётся своим адресом, а не содержимым?
...
Рейтинг: 0 / 0
Вставка в ячейку что-то типа "переход по клику на другую ячейку"?
    #38005830
Фотография Ser Artur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
файл покаж. Ты хочешь макросом или как?
...
Рейтинг: 0 / 0
Вставка в ячейку что-то типа "переход по клику на другую ячейку"?
    #38005842
Фотография Ser Artur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нажимаем Ctrl+K
1 Линковать в книге
2 Текст яйчейки БЛАБЛАБЛА
3 Адрес яйчейки куда надо "перенаправлять линк" > А25
4 Лист где находиться "прилинкованная яйчейка" в нашем примере Sheet2 > А25
...
Рейтинг: 0 / 0
Вставка в ячейку что-то типа "переход по клику на другую ячейку"?
    #38005849
Казанский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Удобно по двойному клику сделать. Если в первом столбце Лист2 такое значение находится - происходит переход. Если нет - обычное поведение при двойном клике (редактирование).
В модуль листа: правый клик по ярлычку листа - Исходный текст:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Set Target = Sheets("Лист2").Columns(1).Find(Target, , xlValues, xlWhole)
If Not Target Is Nothing Then
    Application.Goto Target
    Cancel = True
End If
End Sub
...
Рейтинг: 0 / 0
Вставка в ячейку что-то типа "переход по клику на другую ячейку"?
    #38005878
_11_22_33
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Макросом бы нежелательно...
а, если программно, то
Код: vbnet
1.
 hlsSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:="Лист2!A3", TextToDisplay:="Заказ 23"

то вот это: "Лист2!A3" мне надо как-то программно и получить.
Если я буду создавать отчёт "с конца", т.е. сначала лист 2 с описаниями заказов, а затем лист 1, в котором в столбце А буду делать гиперссылки на уже заполненный лист 2?
Есть ли какая-то функция, которая вернёт мне адрес ячейки из заданного диапазона если я задам значение, которое эта ячейка содержит?
...
Рейтинг: 0 / 0
Вставка в ячейку что-то типа "переход по клику на другую ячейку"?
    #38005916
_11_22_33
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хотя...может правду воспользоваться вариантом, который предложил Казанский ?
только я бы дополнил:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
.......
If Not Target Is Nothing Then
    If Target <> "" Then
        Application.Goto Target
        Cancel = True
    End If
End If
........

иначе при клике на пустой ячейке всё-равно происходил переход...
а как дополнить код проверкой на то, что клик происходит именно на первом столбце?
...
Рейтинг: 0 / 0
Вставка в ячейку что-то типа "переход по клику на другую ячейку"?
    #38005940
Казанский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> как дополнить код проверкой на то, что клик происходит именно на первом столбце?
Код: vbnet
1.
if target.column=1 then


Я тут формулу наваял для гиперссылки по значению. Недостаток ее в том, что формула занимает столбец. Зато без VBA :)
В файле - оба способа.
...
Рейтинг: 0 / 0
Вставка в ячейку что-то типа "переход по клику на другую ячейку"?
    #38005953
Казанский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Перемудрил с формулой - столбец-то известен...

=ГИПЕРССЫЛКА("#Лист2!A"&ПОИСКПОЗ(A1;Лист2!A:A;);">>>")
...
Рейтинг: 0 / 0
Вставка в ячейку что-то типа "переход по клику на другую ячейку"?
    #38005980
_11_22_33
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Только #Н/Д раздражает...
Если с макросом, то получилось вот что:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
If Target.Column = 1 Then
    Set Target = Sheets("Лист2").Columns(1).Find(Target, , xlValues, xlWhole)
    If Not Target Is Nothing Then
        If Target <> "" Then
            Application.Goto Target
            Cancel = True
        End If
    End If
End If

всё правильно?
...
Рейтинг: 0 / 0
Вставка в ячейку что-то типа "переход по клику на другую ячейку"?
    #38006002
_11_22_33
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
и кстати, если без макроса и создавать лист в процедуре, то можно убрать лишний столбец(со ссылкой):
Код: vbnet
1.
2.
3.
4.
5.
6.
With gl_ExcelSheet
........
     Do While Not rstДанные.EOF
         .cells(i, 1).FormulaR1C1 ="=HYPERLINK(""#Лист2!A""&MATCH(RC[-1],Лист2!C[-1],)," & rstДанные![НомерЗаказа]& ")" 
     .........
     Loop
...
Рейтинг: 0 / 0
Вставка в ячейку что-то типа "переход по клику на другую ячейку"?
    #38006013
_11_22_33
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пардон, промашка вышла - столбец нельзя убрать, только надпись изменить...
...
Рейтинг: 0 / 0
Вставка в ячейку что-то типа "переход по клику на другую ячейку"?
    #38006014
Казанский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
#Н/Д убрать нетрудно. 2007+

=ЕСЛИОШИБКА(ГИПЕРССЫЛКА("#Лист2!A"&ПОИСКПОЗ(A1;Лист2!A:A;);">>>");"")

В более ранних

=ЕСЛИ(ЕНД(ПОИСКПОЗ(A1;Лист2!A:A;));"";ГИПЕРССЫЛКА("#Лист2!A"&ПОИСКПОЗ(A1;Лист2!A:A;);">>>"))
...
Рейтинг: 0 / 0
Вставка в ячейку что-то типа "переход по клику на другую ячейку"?
    #38109764
_11_22_33
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В продолжении темы:
Сейчас код выглядит так:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
 Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Column = 3 Then
    Set Target = Sheets("Лист2").Columns(2).Find(Target, , xlValues, xlWhole)
    If Not Target Is Nothing Then
        If Target <> "" Then
            Application.Goto Target
            Cancel = True
        End If
    End If
End If
End Sub

При клике на ячейке столбца 3 Листа 1 происходит переход на Лист 2, на строку, где ячейка столбца 2 содержит то же значение.

А если на листе 2 есть несколько строк с одинаковым содержимым упомянутой ячейки, то можно ли сделать чтобы после клика и перехода на Лист 2 выводились только строки с заданным(одинаковым) содержимым в ячейке столбца 2?
...
Рейтинг: 0 / 0
Вставка в ячейку что-то типа "переход по клику на другую ячейку"?
    #38109777
_11_22_33
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Меня хватило только на то, чтобы добавить после строки
Код: vbnet
1.
Application.Goto Target

строку
Код: vbnet
1.
Selection.AutoFilter Field:=2, Criteria1:=Target

Вроде работает, но правильно ли я сделал?
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Вставка в ячейку что-то типа "переход по клику на другую ячейку"?
    #39856437
vomiskam
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Господа, а как указать несколько листов?
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Вставка в ячейку что-то типа "переход по клику на другую ячейку"?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]