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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.09.2010, 12:43   #1
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию Проверка колличества знаков в №

Раньше у меня в № накладной, всегда было только 8 цифр
EducatedFool написал мне макрос, который находил № накладных с одного листа(где все № накладных собраны), по листам книги....
Код:
Sub ПоискЗначенияНаДругихЛистах()
    Application.EnableEvents = False
        If ActiveCell.Parent.Index <> 8 Then Exit Sub
        If ActiveCell.Column <> 1 Then Exit Sub
        a = Trim$(ActiveCell): If Not a Like "########" Then Exit Sub
        Dim res As Range, ra As Range, u As Range
        For i = 1 To 7
            Set ra = ThisWorkbook.Worksheets(i).[K27:K32]: Set u = ra
            For j = 1 To 31: Set u = Union(u, ra.Offset(j * 44)): Next j
            Set res = u.Find(a, u.Cells(1))
            If Not res Is Nothing Then
        Application.Goto Reference:=res, Scroll:=True
        ActiveWindow.ScrollRow = res.Row - 11: ActiveWindow.ScrollColumn = 1
        Exit For
    End If
        Next
    Application.EnableEvents = True
End Sub
Теперь, количество цифр в №, стало от двух, до пяти, может со временем будет и больше...
Как изменить макрос, что бы он работал?
Если я уберу строку
If Not a Like "########" Then Exit Sub
то ищет не правильно, ищу число 611, находит 16116
valerij вне форума Ответить с цитированием
Старый 09.09.2010, 12:46   #2
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Сам номер как выглядит
№223 или 223
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 09.09.2010, 12:51   #3
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Либо замени If ActiveCell.Column <> 1 Then Exit Sub
a = Trim$(ActiveCell): If Not a Like "########" на переменную ,и определяй ее в замисимости от количества знаков

Для 611
Col_ZN="###"
If ActiveCell.Column <> 1 Then Exit Sub
a = Trim$(ActiveCell): If Not a Like & Col_ZN
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 09.09.2010, 12:55   #4
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Цитата:
Сообщение от doober Посмотреть сообщение
Сам номер как выглядит
№223 или 223
только цифры, 233
тут ошибка
If Not a Like & Col_ZN

Последний раз редактировалось valerij; 09.09.2010 в 12:59.
valerij вне форума Ответить с цитированием
Старый 09.09.2010, 13:02   #5
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Код:
Sub ПоискЗначенияНаДругихЛистах()
    Application.EnableEvents = False
        If ActiveCell.Parent.Index <> 8 Then Exit Sub
        If ActiveCell.Column <> 1 Then Exit Sub
        a = Trim$(ActiveCell): If Not a Like String(Len(a), "#") Then Exit Sub
        Dim res As Range, ra As Range, u As Range
        For i = 1 To 7
            Set ra = ThisWorkbook.Worksheets(i).[K27:K32]: Set u = ra
            For j = 1 To 31: Set u = Union(u, ra.Offset(j * 44)): Next j
            Set res = u.Find(a, u.Cells(1), , xlWhole)
            If Not res Is Nothing Then
        Application.Goto Reference:=res, Scroll:=True
        ActiveWindow.ScrollRow = res.Row - 11: ActiveWindow.ScrollColumn = 1
        Exit For
    End If
        Next
    Application.EnableEvents = True
End Sub
EducatedFool вне форума Ответить с цитированием
Старый 09.09.2010, 13:10   #6
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Цитата:
Сообщение от valerij Посмотреть сообщение
только цифры, 233
тут ошибка
If Not a Like & Col_ZN
Игорь грамотное решение нашел.

Проверил свое ,все пашет как надо,ошибку не дает
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 09.09.2010, 13:15   #7
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Цитата:
Сообщение от doober Посмотреть сообщение
Игорь грамотное решение нашел.
Все, СУПЕР!!!!
СПАСИБО!!!!
Цитата:
Проверил свое ,все пашет как надо,ошибку не дает
Не наю, смотри скрин!!!
Изображения
Тип файла: jpg 25.jpg (42.2 Кб, 152 просмотров)
valerij вне форума Ответить с цитированием
Старый 09.09.2010, 13:20   #8
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Признаю тормознул
If Not a Like Col_ZN Then так надо
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
На определиние колличества элементов Tiny Помощь студентам 2 25.06.2010 11:52
Контоль колличества строк в ListBox Demien Общие вопросы Delphi 2 13.04.2009 15:24
Программа для сбора колличества посещений sergiksergik Фриланс 4 11.04.2009 21:33
скрытие текста до определенного колличества сообщений в vBulletin 3.5.4 Exo PHP 6 23.04.2008 12:27