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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.01.2014, 11:47   #1
FiataliS
Пользователь
 
Регистрация: 11.12.2013
Сообщений: 56
Смех Определенный поиск в Excel

Есть большая таблица в ней много значений в каждой ячейке в том числе и буквы и знаки и нули, но есть две цыфры не нули, которые написаны одна за другой в столбец. Как присвоить переменной номер строки, а второй переменной столбца первой верхней цыфры, при условии что такое совпадение только одно на листе?

Цифры любые например 213, 22, 2, 231, 95, 435, 22 и т.д
Знаю как, не знаю что и с чем.

Последний раз редактировалось FiataliS; 10.01.2014 в 11:52.
FiataliS вне форума Ответить с цитированием
Старый 10.01.2014, 12:03   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

в связи с тем, что таблица большая, а цифры любые
предлагаю переменным строка и столбец тоже присваивать любые значения
Код:
VarRow = 1+rnd()*activesheet.usedrange.rows.count
VarCol = 1+rnd()*activesheet.usedrange.columns.count
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 10.01.2014, 13:16   #3
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,858
По умолчанию

IgorGO, как мне нравится читать твои ответы
EducatedFool вне форума Ответить с цитированием
Старый 10.01.2014, 14:41   #4
alex77755
Форумчанин
 
Аватар для alex77755
 
Регистрация: 14.02.2009
Сообщений: 753
По умолчанию

Если именно цифры, а не числа, то можно так:
Код:
Sub asdfd()
Dim i As Long, rng As Range, Адрес As String

With Range(Cells(1, 1), Cells(Cells(Rows.Count, 1).End(xlUp).Row, 1))
    For i = 0 To 9
        Set rng = .Find(What:=i, LookIn:=xlValues, LookAt:=xlWhole)
            If Not rng Is Nothing Then
                Адрес = rng.Address
                Do
                    If IsNumeric(rng.Value) And IsNumeric(Cells(rng.Row + 1, rng.Column).Value) Then
                        MsgBox rng.Row, 64, ""
                        Exit Sub
                    End If
                    Set rng = .FindNext(rng)
                Loop While Адрес <> rng.Address
            End If
    Next i
End With
End Sub
помогу решить контрольные VB6, VBA (недорого)
Alex77755@mail.ru
alex77755 вне форума Ответить с цитированием
Старый 10.01.2014, 14:46   #5
alex77755
Форумчанин
 
Аватар для alex77755
 
Регистрация: 14.02.2009
Сообщений: 753
По умолчанию

Или вынести в отдельную функцию:
Код:
Sub asdfd()
 MsgBox STROKA, 64, ""
End Sub

Function STROKA()
    Dim i As Long, rng As Range, Адрес As String
     STROKA = "Нет совпадений"
    With Range(Cells(1, 1), Cells(Cells(Rows.Count, 1).End(xlUp).Row, 1))
        For i = 0 To 9
            Set rng = .Find(What:=i, LookIn:=xlValues, LookAt:=xlWhole)
                If Not rng Is Nothing Then
                    Адрес = rng.Address
                    Do
                    If IsNumeric(rng.Value) And IsNumeric(Cells(rng.Row + 1, rng.Column).Value) Then
                       STROKA = rng.Row
                       Exit Function
                    End If
                    Set rng = .FindNext(rng)
                    Loop While Адрес <> rng.Address
                End If
        Next i
    End With
End Function
помогу решить контрольные VB6, VBA (недорого)
Alex77755@mail.ru
alex77755 вне форума Ответить с цитированием
Старый 10.01.2014, 14:49   #6
alex77755
Форумчанин
 
Аватар для alex77755
 
Регистрация: 14.02.2009
Сообщений: 753
По умолчанию

Что бы работало с числами заменить :LookAt:=xlPart
помогу решить контрольные VB6, VBA (недорого)
Alex77755@mail.ru
alex77755 вне форума Ответить с цитированием
Старый 13.01.2014, 11:05   #7
FiataliS
Пользователь
 
Регистрация: 11.12.2013
Сообщений: 56
По умолчанию

Цитата:
Сообщение от alex77755 Посмотреть сообщение
Что бы работало с числами заменить :LookAt:=xlPart
Всем спасибо.
Знаю как, не знаю что и с чем.
FiataliS вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
поиск максимального значения в диапазоне за определенный период vetal623 Microsoft Office Excel 2 08.06.2012 05:37
Поиск по Excel NewGeneration Общие вопросы .NET 0 21.05.2012 15:44
Почему Excel 2010 выполняет поиск гораздо медленнее чем Excel 2003 Sprat Microsoft Office Excel 1 25.10.2011 05:34
Считать определенный столбец из Excel artemavd Общие вопросы Delphi 16 17.06.2010 11:33
Поиск в Excel Tirendus Общие вопросы Delphi 3 21.01.2010 10:39