Поиск ячейки в таблице через VBA
Niff-Nif
Дата: Вторник, 12.02.2013, 12:07 |
Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 23
Доброго всем время суток, Задача: Есть лист с массивом, например, А:А со множеством не пустых строк. Нужно в данном массиве найти строку равную, например, "три поросенка". Знаю как решить данную задачу через For... Next и AdvancedFilter, НО, наверняка есть более красивый метод решения данного вопроса. Буду Вам признателен если ткнете меня пятачок в изящное решение данной проблемы. С уважением, Niff-Nif
Доброго всем время суток, Задача: Есть лист с массивом, например, А:А со множеством не пустых строк. Нужно в данном массиве найти строку равную, например, "три поросенка". Знаю как решить данную задачу через For... Next и AdvancedFilter, НО, наверняка есть более красивый метод решения данного вопроса. Буду Вам признателен если ткнете меня пятачок в изящное решение данной проблемы. С уважением, Niff-Nif Niff-Nif
Ответить
Сообщение Доброго всем время суток, Задача: Есть лист с массивом, например, А:А со множеством не пустых строк. Нужно в данном массиве найти строку равную, например, "три поросенка". Знаю как решить данную задачу через For... Next и AdvancedFilter, НО, наверняка есть более красивый метод решения данного вопроса. Буду Вам признателен если ткнете меня пятачок в изящное решение данной проблемы. С уважением, Niff-Nif Автор - Niff-Nif Дата добавления - 12.02.2013 в 12:07
Gustav
Дата: Вторник, 12.02.2013, 12:31 |
Сообщение № 2
Группа: Админы
Ранг: Участник клуба
Сообщений: 2797
Репутация:
1161
±
Замечаний:
±
начинал с Excel 4.0, видел 2.1
Что подразумевается под решением: факт наличия значения где-то в массиве (типа EXISTS) или точное позиционирование на эту ячейку? Например, так (с позиционированием): [vba]Код
Range("A:A").Find("три поросенка").Select
[/vba]
Что подразумевается под решением: факт наличия значения где-то в массиве (типа EXISTS) или точное позиционирование на эту ячейку? Например, так (с позиционированием): [vba]Код
Range("A:A").Find("три поросенка").Select
[/vba] Gustav
МОИ: Ник , Tip box: 41001663842605
Сообщение отредактировал Gustav - Вторник, 12.02.2013, 12:48
Ответить
Сообщение Что подразумевается под решением: факт наличия значения где-то в массиве (типа EXISTS) или точное позиционирование на эту ячейку? Например, так (с позиционированием): [vba]Код
Range("A:A").Find("три поросенка").Select
[/vba] Автор - Gustav Дата добавления - 12.02.2013 в 12:31
Niff-Nif
Дата: Вторник, 12.02.2013, 13:13 |
Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 23
Подразумевается, что где-то в массиве есть данное значение и мне нужноузнать адрес данной ячейки, где имеет место совпадение.
Подразумевается, что где-то в массиве есть данное значение и мне нужноузнать адрес данной ячейки, где имеет место совпадение. Niff-Nif
Ответить
Сообщение Подразумевается, что где-то в массиве есть данное значение и мне нужноузнать адрес данной ячейки, где имеет место совпадение. Автор - Niff-Nif Дата добавления - 12.02.2013 в 13:13
RAN
Дата: Вторник, 12.02.2013, 13:39 |
Сообщение № 4
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Если одного тычка мало. [vba]Код
a = Range("A:A").Find("три поросенка").Address
[/vba]
Если одного тычка мало. [vba]Код
a = Range("A:A").Find("три поросенка").Address
[/vba] RAN
Быть или не быть, вот в чем загвоздка!
Ответить
Сообщение Если одного тычка мало. [vba]Код
a = Range("A:A").Find("три поросенка").Address
[/vba] Автор - RAN Дата добавления - 12.02.2013 в 13:39
Niff-Nif
Дата: Вторник, 12.02.2013, 14:21 |
Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 23
Хрю, хрю Вам. Попробуем.
Ответить
Сообщение Хрю, хрю Вам. Попробуем. Автор - Niff-Nif Дата добавления - 12.02.2013 в 14:21
Niff-Nif
Дата: Вторник, 12.02.2013, 14:35 |
Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 23
Вот какая закавыка: если я ищу 2, то он мне дает первое же значение где есть цифра 2, например, 802. А мне нужноячейка где именно 2!! Это какпри использовании фильтра, если поставить 2 то найдет первое входящее значение, например, 209, а если указать =2, то найдет именно 2.
Вот какая закавыка: если я ищу 2, то он мне дает первое же значение где есть цифра 2, например, 802. А мне нужноячейка где именно 2!! Это какпри использовании фильтра, если поставить 2 то найдет первое входящее значение, например, 209, а если указать =2, то найдет именно 2. Niff-Nif
Сообщение отредактировал Niff-Nif - Вторник, 12.02.2013, 15:06
Ответить
Сообщение Вот какая закавыка: если я ищу 2, то он мне дает первое же значение где есть цифра 2, например, 802. А мне нужноячейка где именно 2!! Это какпри использовании фильтра, если поставить 2 то найдет первое входящее значение, например, 209, а если указать =2, то найдет именно 2. Автор - Niff-Nif Дата добавления - 12.02.2013 в 14:35
Gustav
Дата: Вторник, 12.02.2013, 15:45 |
Сообщение № 7
Группа: Админы
Ранг: Участник клуба
Сообщений: 2797
Репутация:
1161
±
Замечаний:
±
начинал с Excel 4.0, видел 2.1
Цитата (Niff-Nif )
если я ищу 2, то он мне дает первое же значение где есть цифра 2, например, 802. А мне нужноячейка где именно 2
А хелп по Range.Find почитать? А на параметр LookAt внимание обратить? [vba]Код
Range("A:A").Find(What:="2",LookAt:=xlWhole).Select
[/vba]
Цитата (Niff-Nif )
если я ищу 2, то он мне дает первое же значение где есть цифра 2, например, 802. А мне нужноячейка где именно 2
А хелп по Range.Find почитать? А на параметр LookAt внимание обратить? [vba]Код
Range("A:A").Find(What:="2",LookAt:=xlWhole).Select
[/vba]Gustav
МОИ: Ник , Tip box: 41001663842605
Сообщение отредактировал Gustav - Вторник, 12.02.2013, 15:47
Ответить
Сообщение Цитата (Niff-Nif )
если я ищу 2, то он мне дает первое же значение где есть цифра 2, например, 802. А мне нужноячейка где именно 2
А хелп по Range.Find почитать? А на параметр LookAt внимание обратить? [vba]Код
Range("A:A").Find(What:="2",LookAt:=xlWhole).Select
[/vba]Автор - Gustav Дата добавления - 12.02.2013 в 15:45
Niff-Nif
Дата: Вторник, 12.02.2013, 15:57 |
Сообщение № 8
Группа: Пользователи
Ранг: Новичок
Сообщений: 23
Хрю-хрю большое. Range.find и Lookat читал, но не понял Еще раз спасибо. Плюсанул.
Хрю-хрю большое. Range.find и Lookat читал, но не понял Еще раз спасибо. Плюсанул. Niff-Nif
Ответить
Сообщение Хрю-хрю большое. Range.find и Lookat читал, но не понял Еще раз спасибо. Плюсанул. Автор - Niff-Nif Дата добавления - 12.02.2013 в 15:57
Niff-Nif
Дата: Вторник, 12.02.2013, 16:22 |
Сообщение № 9
Группа: Пользователи
Ранг: Новичок
Сообщений: 23
Вот ведь не задача... Толи голова того, толи зуб болит, НО: есть условие [vba]Код
If Not Workbooks("ччч.xlsm").Worksheets("ччч").Range("A:A").Find(What:="Три поросенка" & Me.TextBox7.Value, LookAt:=xlWhole).Row = False Then
[/vba] Так вот, если данный критерий существует, то работает все ОК, но если таких данных нет, то выдает ошибку. В чем проблема? [admin]Оформляйте коды тегами![/admin]
Вот ведь не задача... Толи голова того, толи зуб болит, НО: есть условие [vba]Код
If Not Workbooks("ччч.xlsm").Worksheets("ччч").Range("A:A").Find(What:="Три поросенка" & Me.TextBox7.Value, LookAt:=xlWhole).Row = False Then
[/vba] Так вот, если данный критерий существует, то работает все ОК, но если таких данных нет, то выдает ошибку. В чем проблема? [admin]Оформляйте коды тегами![/admin] Niff-Nif
Ответить
Сообщение Вот ведь не задача... Толи голова того, толи зуб болит, НО: есть условие [vba]Код
If Not Workbooks("ччч.xlsm").Worksheets("ччч").Range("A:A").Find(What:="Три поросенка" & Me.TextBox7.Value, LookAt:=xlWhole).Row = False Then
[/vba] Так вот, если данный критерий существует, то работает все ОК, но если таких данных нет, то выдает ошибку. В чем проблема? [admin]Оформляйте коды тегами![/admin] Автор - Niff-Nif Дата добавления - 12.02.2013 в 16:22
RAN
Дата: Вторник, 12.02.2013, 16:28 |
Сообщение № 10
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Как вариант. Заменить [vba][/vba] на [vba][/vba]
Как вариант. Заменить [vba][/vba] на [vba][/vba] RAN
Быть или не быть, вот в чем загвоздка!
Ответить
Сообщение Как вариант. Заменить [vba][/vba] на [vba][/vba] Автор - RAN Дата добавления - 12.02.2013 в 16:28
Niff-Nif
Дата: Вторник, 12.02.2013, 16:47 |
Сообщение № 11
Группа: Пользователи
Ранг: Новичок
Сообщений: 23
Мдя, будем считать что дело в зубе Еще раз спасибо
Мдя, будем считать что дело в зубе Еще раз спасибо Niff-Nif
Ответить
Сообщение Мдя, будем считать что дело в зубе Еще раз спасибо Автор - Niff-Nif Дата добавления - 12.02.2013 в 16:47