Может ли поле ввода достичь этого типа поиска? - PullRequest
0 голосов
/ 01 апреля 2019

Скажем, у меня есть столбец A (код задания: 10001), а в столбцах CE / CF указаны подразделения компании, в которых эта работа будет соответствовать нетрадиционным часам.

Код вакансии | Должность | Бизнес-сегмент 1 | Бизнес-сегмент 2

10001 | Спецификация службы поддержки клиентов | Операции | Управление казначейством

10001 | Спецификация службы поддержки клиентов | Операции | Почтовые службы

10001 | Custmer Support Spec | Операции | Валюты

Если бы у меня было одно задание, но оно было разбито на 3 разных сегмента BU lvl 2, как я мог бы сделать что-то в VBA, где бы запрашивалось поле ввода и как код задания в первом столбце, и текст Дисплей будет отображать те бизнес-единицы, под которые он попал?

Что-то вроде:

Sub JobCodeSearch()


JobCode = Application.InputBox("Please provide a job code", "job code", Type:=1)

Set found = Range("A:A").Find(what:=JobCode, LookIn:=xlValues, LookAt:=xlWhole)

If found Is Nothing Then
    MsgBox "Your job code was not found"
Else
    'I would want a dialogue box showing all of the values in the 3rd and 4th columns from where it matches that job code
End If

End Sub

1 Ответ

1 голос
/ 01 апреля 2019

Звучит так, как будто вы хотите цикл Range.Find.Это будет выглядеть примерно так:

Sub tgr()

    Dim rFound As Range
    Dim lJobCode As Long
    Dim sFirst As String
    Dim sResults As String

    lJobCode = Int(Application.InputBox("Please provide a job code", "Job Code", Type:=1))
    If lJobCode = 0 Then Exit Sub   'Pressed cancel

    With ActiveSheet.Columns("A")
        Set rFound = .Find(lJobCode, .Cells(.Cells.Count), xlValues, xlWhole)
        If Not rFound Is Nothing Then
            sFirst = rFound.Address
            Do
                sResults = sResults & Chr(10) & rFound.Offset(, 2).Value & " | " & rFound.Offset(, 3).Value
                Set rFound = .FindNext(rFound)
            Loop While rFound.Address <> sFirst
            MsgBox "Business units for Job Code [" & lJobCode & "]:" & sResults
        Else
            MsgBox "Job Code [" & lJobCode & "] not found.", , "Error"
        End If
    End With

End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...