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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.09.2013, 11:54   #1
manula
Форумчанин
 
Регистрация: 17.04.2011
Сообщений: 168
Сообщение Проблема с нумерацией

Здравствуйте уважаемые коллеги, не могли бы вы мне помочь с решением моей проблемы, суть в том, что у меня есть два поля "Код товара" и "№ периода", а так же есть форма, когда я ввожу на форме код товара, то он должен сравнить с теми кодами которые находятся на листе и в случае нахождения такого кода запомнить его максимальный период и продолжить нумерацию периода в TextBox2.
Для наглядности все будет понятно в книге вложенной ниже.
Вложения
Тип файла: rar Книга11.rar (11.7 Кб, 5 просмотров)
manula вне форума Ответить с цитированием
Старый 11.09.2013, 12:28   #2
Step_UA
Форумчанин
 
Аватар для Step_UA
 
Регистрация: 09.06.2011
Сообщений: 388
По умолчанию

Доброго, один из вариантов
Вложения
Тип файла: rar Книга11.rar (11.8 Кб, 6 просмотров)
на неконкретные вопросы даю неконкретные ответы ...
Step_UA вне форума Ответить с цитированием
Старый 11.09.2013, 14:56   #3
manula
Форумчанин
 
Регистрация: 17.04.2011
Сообщений: 168
По умолчанию

Уважаемый Step_UA а не могли бы подправить предложенный вариант для вновь приложенной книги, я попробовал сам подкорректировать ну у меня не получилось, еще раз вам огромное спасибо!
Вложения
Тип файла: rar Книга11.rar (11.6 Кб, 3 просмотров)
manula вне форума Ответить с цитированием
Старый 11.09.2013, 16:07   #4
staniiislav
Форумчанин
 
Аватар для staniiislav
 
Регистрация: 16.04.2010
Сообщений: 695
По умолчанию

можно еще так:
Код:
Dim rng As Range

Private Sub TextBox1_Change()
        Dim rng2 As Range, adr, ii&
        Set rng2 = rng.Find(TextBox1, , xlValues, xlWhole)
        If Not rng2 Is Nothing Then
            adr = rng2.Address
            ii = 0
            Do
                If Cells(rng2.Row, "G") > ii Then ii = Cells(rng2.Row, "G")
                Set rng2 = rng.FindNext(rng2)
            Loop While adr <> rng2.Address
        End If
        If ii > 0 Then TextBox2.Text = ii + 1 Else TextBox2.Text = ""
End Sub

Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    If KeyAscii < 48 Or KeyAscii > 57 Then KeyAscii = 0 ' Проверка на ввод только цифр
End Sub

Private Sub UserForm_Initialize()
    Set rng = Range("F5:F" & Cells(Rows.Count, "F").End(xlUp).Row)
End Sub
Единственный способ стать умнее, играть с более умным противником...
staniiislav вне форума Ответить с цитированием
Старый 11.09.2013, 16:36   #5
Step_UA
Форумчанин
 
Аватар для Step_UA
 
Регистрация: 09.06.2011
Сообщений: 388
По умолчанию

Цитата:
Сообщение от manula Посмотреть сообщение
... для вновь приложенной книги
Измените инициализацию:
Код:
Private Sub UserForm_Initialize()
    Mas = Cells(5, 6).Resize(Cells(Rows.Count, 6).End(xlUp).Row - 4, 2).Value
End Sub
на неконкретные вопросы даю неконкретные ответы ...
Step_UA вне форума Ответить с цитированием
Старый 11.09.2013, 16:42   #6
manula
Форумчанин
 
Регистрация: 17.04.2011
Сообщений: 168
По умолчанию

Благодарю за помощь коллеги, Вы мне очень помогли. staniiislav вашим методом тоже попробую, в дальнейшем пригодится!
manula вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Неблокирующий сокет Си проблема с закрытием, проблема с закрытием сокетов в цикле mnx_vol C/C++ Сетевое программирование 0 06.11.2012 13:57
проблемы с нумерацией. Shirokuro SQL, базы данных 5 18.09.2012 23:12
Сохранение файлов с именем с нумерацией 001,002,... artemavd Общие вопросы Delphi 5 26.04.2011 11:41
Сортировка с нумерацией BloodWizard SQL, базы данных 1 02.05.2010 11:20
Проблема с рамами/Проблема с ЖД DRAGGER Компьютерное железо 6 04.01.2009 23:37