Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.01.2011, 18:25   #1
Uralmaster
Форумчанин
 
Регистрация: 21.01.2011
Сообщений: 118
По умолчанию переход с листа на лист по одинаковому значению

вопрос еще остался элементарный
Название предприятия-клиента фигурирует в двух листах
Как сделать так чтобы по щелчку мыши на ячейку (где забито название предприятия)на 1 листе я переместился на 2 лист в ячейку с названием этого же предприятия. Название предприятия на обоих листах один в один - совпадает.
Вложения
Тип файла: rar переход с листа на лист.rar (3.4 Кб, 20 просмотров)
Uralmaster вне форума Ответить с цитированием
Старый 27.01.2011, 19:32   #2
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Код в модуле Листа1
Код:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim X As Range
If Target.Text <> "" Then
Set X = Sheets(2).UsedRange.Find(Target.Text)
If Not X Is Nothing Then
Sheets(2).Activate
X.Activate
End If: End If
End Sub
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 29.01.2011, 10:51   #3
vfv
Пользователь
 
Регистрация: 28.07.2009
Сообщений: 54
По умолчанию

Если после перехода на лист2 окажется две или три ячейки с таким же точно названием предприятия,как и на лист1,как сделать,чтобы они все одновременно стали выделены?
vfv вне форума Ответить с цитированием
Старый 29.01.2011, 12:11   #4
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

Код:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Dim X As Range, r As Range, fA$
    If Target.Text <> "" Then
        Set X = Sheets(2).UsedRange.Find(Target.Text)
        If Not X Is Nothing Then
            Set r = X
            fA = X.Address
            Do
                Set X = Sheets(2).UsedRange.FindNext(X)
                Set r = Application.Union(r, X)
            Loop While Not X Is Nothing And X.Address <> fA
        End If
        Sheets(2).Activate
        r.Select
    End If
    Cancel = True
End Sub
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728
kuklp вне форума Ответить с цитированием
Старый 29.01.2011, 12:29   #5
vfv
Пользователь
 
Регистрация: 28.07.2009
Сообщений: 54
По умолчанию

Спасибо!Всё работает.
А если не окажется слова из листа1,как сделать,чтобы не открывался автоматом редактор VBA с подсвеченным r.Select
vfv вне форума Ответить с цитированием
Старый 29.01.2011, 12:32   #6
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

обработать ошибку.
on error resume next
r.Select
on error goto 0
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 29.01.2011, 13:25   #7
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

Привет, Игорь. Не так. Если такого нет на 2 листе - нафиг туда переходить, переходим в режим редактирования.
Код:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Dim X As Range, r As Range, fA$
    If Target.Text <> "" Then
        Set X = Sheets(2).UsedRange.Find(Target.Text)
        If Not X Is Nothing Then
            Set r = X
            fA = X.Address
            Do
                Set X = Sheets(2).UsedRange.FindNext(X)
                Set r = Application.Union(r, X)
            Loop While Not X Is Nothing And X.Address <> fA
            Sheets(2).Activate
            r.Select
         Cancel = True
        End If: End If
End Sub
И окончательный вариант в файле. Для чего это надо, проверяем на листе 3.
Вложения
Тип файла: rar переход.rar (10.9 Кб, 22 просмотров)
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728

Последний раз редактировалось kuklp; 29.01.2011 в 13:44.
kuklp вне форума Ответить с цитированием
Старый 29.01.2011, 22:58   #8
Uralmaster
Форумчанин
 
Регистрация: 21.01.2011
Сообщений: 118
По умолчанию

Большое спасибо за поддержку еще один вопрос как сделать так чтобы используя данную формулу сделать ячейку на листе 1 ( назовем ее поиск) куда вводим искомый текст; далее по кнопке макроса выделяем ячейку с таким же текстом на
том же листе 1 заготовка в файле приложенном ( стандартная функция поиск значения - текста неудобна - либо кнопку функции выводишь в панель либо в меню надо лазить каждый раз )
Вложения
Тип файла: rar Формула поиска.rar (10.4 Кб, 8 просмотров)
Uralmaster вне форума Ответить с цитированием
Старый 30.01.2011, 06:16   #9
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

У Вас что, макрорекордер не работает? Уже такую ерунду можно было бы и самому сделать.
Вложения
Тип файла: rar Формула поиска1.rar (15.4 Кб, 13 просмотров)
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728
kuklp вне форума Ответить с цитированием
Старый 30.01.2011, 08:39   #10
Uralmaster
Форумчанин
 
Регистрация: 21.01.2011
Сообщений: 118
По умолчанию

Начальные познания еще
Макрос работает спасибо - единственное только работает когда снимешь выделение с ячейки С4 "поиск" как сделать чтобы искал без снятия выделения ячейки с поисковым словом - те написал слово и сразу кнопку нажал...

Последний раз редактировалось Uralmaster; 30.01.2011 в 18:42.
Uralmaster вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перенос на другой лист по значению столбца ElenaNTro Microsoft Office Excel 5 17.03.2011 14:50
Название листа, по значению ячейки kzld Microsoft Office Excel 1 11.09.2010 12:03
Переход на другой лист книги svetly12 Microsoft Office Excel 1 13.06.2010 14:54
Копирование данных с одного листа на другой по значению первого столбца Lis000iq Microsoft Office Excel 11 07.03.2010 13:34
Переход на новый лист в VBA Юнлинг Microsoft Office Excel 7 05.12.2008 10:02