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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.06.2010, 00:13   #1
RailOS
 
Регистрация: 16.06.2010
Сообщений: 7
По умолчанию Перебор значений для поиска

Всем привет!
Сегодня столкнулся с задачей, с которой не мог разделаться при помощи макроса(за что и ненавидел себя около часа, пока делал это с помощью Ctrl+F)
Может вы поможете?
Сразу замечу, что программирование знаю плохо, но очень хотел бы научиться
Собственно все в приложенном файле
Вложения
Тип файла: doc 111.doc (36.5 Кб, 16 просмотров)
RailOS вне форума Ответить с цитированием
Старый 17.06.2010, 00:28   #2
R Dmitry
Форумчанин
 
Регистрация: 07.03.2010
Сообщений: 796
По умолчанию

Вы бы еще презентацию своих ошибок в powerpoint сотворили.
у вас с чем проблемы,С excel или с вордом?
если с excel то и свои баги выкладывайте в excel
Логика?!.... она где то рядом... E_mail: dg_rusak@mail.ru Если спасибо мало: Яндекс . Деньги - 41001731366021 WM R269866874234
R Dmitry вне форума Ответить с цитированием
Старый 17.06.2010, 00:37   #3
RailOS
 
Регистрация: 16.06.2010
Сообщений: 7
По умолчанию

Цитата:
Сообщение от R Dmitry Посмотреть сообщение
Вы бы еще презентацию своих ошибок в powerpoint сотворили.
у вас с чем проблемы,С excel или с вордом?
если с excel то и свои баги выкладывайте в excel
Сорри)
вот оно
Вложения
Тип файла: rar Лист Microsoft Excel.rar (6.7 Кб, 16 просмотров)
RailOS вне форума Ответить с цитированием
Старый 17.06.2010, 02:13   #4
nilem
Форумчанин
 
Регистрация: 25.04.2010
Сообщений: 616
По умолчанию

Что-то вроде этого
Код:
Sub Поиск_содеожимого()
Dim X As Range, Y As Range
Dim i As Integer

For Each Y In Range("B2:B6")
'If IsEmpty(Y) Then Exit For
i = 1
    For Each X In Range("A2:A20")
        If InStr(1, X, Y, vbTextCompare) > 0 Then Y.Offset(, i) = X: i = i + 1
    Next X
Next Y

End Sub
nilem вне форума Ответить с цитированием
Старый 17.06.2010, 02:40   #5
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Раз уж написал,выложу свой вариант
Код:
Sub Люби_Себя()
Dim Rez1, Rez2
Dim n As Long, m As Long
Rez1 = Sheets("Лист1").Range(("a1"), Sheets("Лист1").Range("a" & Rows.Count).End(xlUp))
Rez2 = Sheets("Лист1").Range(("b1"), Sheets("Лист1").Range("b" & Rows.Count).End(xlUp))
For n = 2 To UBound(Rez2)
For m = 2 To UBound(Rez1)
If InStr(1, Rez1(m, 1), Rez2(n, 1),vbTextCompare) > 0 Then
Sheets("Лист1").Cells(m, 3) = Rez1(m, 1)'Вариант1
Sheets("Лист1").Cells(n, 4) = Rez1(m, 1)'Вариант2 может пригодится
End If
Next
Next
End Sub
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 17.06.2010, 16:16   #6
RailOS
 
Регистрация: 16.06.2010
Сообщений: 7
По умолчанию

Спасибо! Голова пока не варит, попробую вечером разобраться
RailOS вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перебор всех доступных значений! AquaKlaster Общие вопросы Delphi 40 02.03.2015 12:27
Форма для поиска нужных значений Fezdipekla Microsoft Office Access 1 01.04.2010 19:05
Перебор значений genf Microsoft Office Excel 0 18.12.2009 10:56
Алгоритм поиска значений в памяти. Ivan_32 Win Api 2 07.11.2008 19:59
Модуль для поиска значений wnuks Microsoft Office Excel 1 02.07.2008 07:46