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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.12.2021, 18:25   #1
DMITRIY_78
Форумчанин
 
Регистрация: 11.12.2018
Сообщений: 202
По умолчанию в цикле поиска указать столбец

Ребята Здравствуйте, подскажите как в цикле поиска указать проверяемую переменную "n"
т.е в каком столбце производить поиск, заранее благодарен
Код:
Private Sub CommandButton14_Click()
Dim n As String
    q = TextBox34.Text
    Set s = Worksheets("заявка_ЗИП").Cells(1, 1).Find(What:=q)
    If Len(q) <= 0 Then MsgBox "Заполните поле для поиска": Exit Sub
    Select Case True        ' Номера'Столбцы для поиска
       Case OptionButton1.Value: n = Cells(1, 1) 'Дата
       Case OptionButton2.Value: n = Cells(1, 2) 'Фамилия
       Case OptionButton3.Value: n = Cells(1, 3) 'Телефон
       Case OptionButton4.Value: n = Cells(1, 4) 'Серийный номер
       Case Else: MsgBox "Нет отметок для поиска": Exit Sub
    End Select
'========== поиск
    For Each s In Worksheets("заявка_ЗИП").Cells(1, 1).Find(What:=q)
     Cells(1, 1).Row = v
        If Not s Is Nothing Then     
            TextBox20.Text = s.Cells(1, 1) 'модель
       End If
    Next
    MsgBox "Ничего не найдено"
End Sub
Что нас не убивает, то делает нас сильными!
Всё гениальное просто, всё простое гениально!
DMITRIY_78 вне форума Ответить с цитированием
Старый 13.12.2021, 09:02   #2
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

вопрос не понял, но вопросы имеются

это что за чудокод. Поиск в ячейке А1 ?
Код:
Worksheets("заявка_ЗИП").Cells(1, 1).Find(What:=q)
это компилируется?
Код:
Cells(1, 1).Row = v
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 13.12.2021, 10:21   #3
DMITRIY_78
Форумчанин
 
Регистрация: 11.12.2018
Сообщений: 202
По умолчанию

Цитата:
Сообщение от Aleksandr H. Посмотреть сообщение
Worksheets("заявка_ЗИП").Cells(1, 1).Find(What:=q)
Цитата:
Сообщение от Aleksandr H. Посмотреть сообщение
Поиск в ячейке А1 ?
да, все верно
Что нас не убивает, то делает нас сильными!
Всё гениальное просто, всё простое гениально!
DMITRIY_78 вне форума Ответить с цитированием
Старый 13.12.2021, 10:23   #4
DMITRIY_78
Форумчанин
 
Регистрация: 11.12.2018
Сообщений: 202
По умолчанию

Цитата:
Сообщение от Aleksandr H. Посмотреть сообщение
Cells(1, 1).Row = v
это лишнее
Что нас не убивает, то делает нас сильными!
Всё гениальное просто, всё простое гениально!
DMITRIY_78 вне форума Ответить с цитированием
Старый 13.12.2021, 10:28   #5
DMITRIY_78
Форумчанин
 
Регистрация: 11.12.2018
Сообщений: 202
По умолчанию

Aleksandr H., хотя я так правильно понимаю, что поиск должен производится в переменной "n". только я не совсем понимаю как ее использовать
Что нас не убивает, то делает нас сильными!
Всё гениальное просто, всё простое гениально!
DMITRIY_78 вне форума Ответить с цитированием
Старый 13.12.2021, 11:52   #6
DMITRIY_78
Форумчанин
 
Регистрация: 11.12.2018
Сообщений: 202
По умолчанию

Aleksandr H., допекал только до этого ,
Код:
For Each s In Worksheets("заявка_ЗИП").Range("A1:F200").Cells
        If s.Value = q Then
            TextBox20.Text = Replace(s, "$", "") 'модель
            Rows(s.Row).Select
            Exit Sub
       End If
    Next
    MsgBox "Ничего не найдено"
но хотелось бы что бы на основании переменной "N"
Что нас не убивает, то делает нас сильными!
Всё гениальное просто, всё простое гениально!
DMITRIY_78 вне форума Ответить с цитированием
Старый 13.12.2021, 13:52   #7
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Не понимаю вопроса. На примере можете показать какую задачу решаете?
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 13.12.2021, 14:15   #8
DMITRIY_78
Форумчанин
 
Регистрация: 11.12.2018
Сообщений: 202
По умолчанию

Aleksandr H., все просто вопрос из #1 поста, на основании выбранного
Код:
 Case OptionButton1.Value: n = Cells(1, 1) 'это Дата
поиск производится в столбце(1) дата, если отметка стоит на
Код:
Case OptionButton2.Value: n = Cells(1, 2) 'Фамилия
то поиск производится соответственно в столбце(2) фио
Что нас не убивает, то делает нас сильными!
Всё гениальное просто, всё простое гениально!
DMITRIY_78 вне форума Ответить с цитированием
Старый 13.12.2021, 14:23   #9
DMITRIY_78
Форумчанин
 
Регистрация: 11.12.2018
Сообщений: 202
По умолчанию

Aleksandr H., я подумал возможно требуется указать явно столбцы
Код:

       Case OptionButton1.Value: n = 1 'Дата
       Case OptionButton2.Value: n = 2 'Фамилия
       Case OptionButton3.Value: n = 3 'Телефон
       Case OptionButton4.Value: n = 4 'Серийный номер
Что нас не убивает, то делает нас сильными!
Всё гениальное просто, всё простое гениально!
DMITRIY_78 вне форума Ответить с цитированием
Старый 13.12.2021, 14:38   #10
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

так N ето нифига не номер столбца, а значение 1 ячейки столбца выбраного через OptionButton


хочется использовать N как номер столбца, тогда
Код:
f = True
Select Case True        ' Номера'Столбцы для поиска
       Case OptionButton1.Value: n = 1 'Дата
       Case OptionButton2.Value: n = 2 'Фамилия
       Case OptionButton3.Value: n = 3 'Телефон
       Case OptionButton4.Value: n = 4 'Серийный номер
       Case Else: MsgBox "Нет отметок для поиска": F= false: Exit Sub
    End Select
....
if F then
......Worksheets("заявка_ЗИП").Columns("A:A").Offset(0, n - 1).Find(What:=q)
end if
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Заменить столбец одной таблицы, на столбец другой Karyuudo SQL, базы данных 1 30.09.2015 16:07
Ошибка. НЕ МОГУ ВСТАВИТЬ столбец В ЗАДАЧУ КОТОРАЯ ВЫВЕДЕТ СТОЛБЕЦ ИЗ ЕДИНИЦ ПОСЛЕ ЧИСЛА к. Диас_ Паскаль, Turbo Pascal, PascalABC.NET 1 14.06.2011 18:49
макрос который будет копировать столбец А из закрытой книги Данные, и вставлять в книгу Сток в столбец B Utirka66 Microsoft Office Excel 8 06.07.2009 09:53
Указать критерии поиска? фЁдОр БД в Delphi 28 18.02.2008 17:17