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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.02.2016, 11:41   #1
Ppaa
Форумчанин
 
Регистрация: 20.12.2010
Сообщений: 107
По умолчанию Поиск по всей книге с выводом названия листа

Здравствуйте!

Подскажите как можно искать значение из ячейки по всей книге и выводить лист, на котором оно было найдено или, если не найдено #н/д ?
Ppaa вне форума Ответить с цитированием
Старый 26.02.2016, 11:57   #2
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Код:
Sub ICantUseGoogle()
    Dim iSh As Integer
    Dim s As String, rRes As Range
    For iSh = 2 To ActiveWorkbook.Worksheets.Count
        With Worksheets(iSh)
            Set rRes = .Cells.Find(What:=Worksheets(1).Range("A1"), LookIn:=xlValues, lookat:=xlWhole, _
            SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False)
            If Not rRes Is Nothing Then
                s = s & Worksheets(iSh).Name & "." & rRes.AddressLocal & "; "
            End If
        End With
    Next
    MsgBox s
End Sub
ето если просто искать, если найтиВсе то читай http://www.cpearson.com/excel/findall.aspx
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.

Последний раз редактировалось Aleksandr H.; 26.02.2016 в 12:29.
Aleksandr H. вне форума Ответить с цитированием
Старый 26.02.2016, 14:30   #3
Ppaa
Форумчанин
 
Регистрация: 20.12.2010
Сообщений: 107
По умолчанию

А формулами можно как-нибудь? Нужно искать столбец значений в книге.
Ppaa вне форума Ответить с цитированием
Старый 26.02.2016, 14:43   #4
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

короткий ответ: можно
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 29.02.2016, 14:00   #5
Ppaa
Форумчанин
 
Регистрация: 20.12.2010
Сообщений: 107
По умолчанию

А можно поподробнее? Дело в том, что искомые значения для поиска находятся в разных столбцах на разных листах. Примеры с впр которые есть в инете для этого не подходят.
Ppaa вне форума Ответить с цитированием
Старый 29.02.2016, 15:15   #6
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Цитата:
Сообщение от Ppaa Посмотреть сообщение
А можно поподробнее? Дело в том, что искомые значения для поиска находятся в разных столбцах на разных листах. Примеры с впр которые есть в инете для этого не подходят.
Интерес к вопросу без файла с Вашими данными чуть больше 0.
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 29.02.2016, 16:59   #7
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

без файла, в котором ручками написано, что должно получиться, а где-то в комментариях, типа вот это значение нужно бы получить формулой, "подробнее" - бессмысленно
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 29.02.2016, 17:00   #8
Ppaa
Форумчанин
 
Регистрация: 20.12.2010
Сообщений: 107
По умолчанию

Приложил.
На листе1 пример значений, которые нужно искать на других листах и выводить названия листов, на которых оно встречается.
Вложения
Тип файла: zip sample.zip (364.4 Кб, 13 просмотров)
Ppaa вне форума Ответить с цитированием
Старый 29.02.2016, 17:31   #9
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

Можно даже гиперссылки создать
Код:
Sub Pa()
Dim j&, k&, c As Range, d As Range
  Worksheets(1).Activate
  For Each c In Range("A2", Cells(Rows.Count, "A").End(xlUp))
    k = 0
    For j = 2 To Worksheets.Count
      Set d = Worksheets(j).Cells.Find(c.Formula, , xlFormulas, xlWhole)
      If Not d Is Nothing Then
        k = k + 1
        ActiveSheet.Hyperlinks.Add c.Offset(, k), "", d.Address(external:=True), , Worksheets(j).Name
      End If
    Next
  Next
End Sub
exceleved@yandex.ru Яндекс.Деньги: 410011500007619

Последний раз редактировалось Казанский; 29.02.2016 в 17:34.
Казанский вне форума Ответить с цитированием
Старый 29.02.2016, 17:56   #10
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

см. вложение
(если что не так, можете поправить немного формулы)
Вложения
Тип файла: rar sample.rar (329.3 Кб, 21 просмотров)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как расширить формулы по всей книге тимтимтим Microsoft Office Excel 14 10.06.2015 00:54
Самопроизвольное изменение формата на финансовый во всей книге, как решить? Ppaa Microsoft Office Excel 4 21.01.2014 00:50
Форма - поиск листа в книге VictorM Microsoft Office Excel 6 24.12.2011 13:55
изменение номера страницы в Колонтитулах по всей книге Exel DimonJar Microsoft Office Excel 0 09.02.2010 20:12
поиск листа в книге tat-besidovska Microsoft Office Excel 1 12.02.2008 11:00