Организовать код, застрял в том, как сделать действия в выпадающем списке внутри Userform - PullRequest
0 голосов
/ 10 июля 2019

Мне нужна помощь в организации моего кода Франкенштейна, я один нуб, который пытается учиться, и лучший способ учиться - это знать команды и практиковаться.Итак, давайте опишем мою проблему ...

Я предлагаю своей компании один способ сделать нашу жизнь в службе поддержки более легкой, потому что компания не предложила нам ничего полезного ... и у меня есть блестящийИдея использовать VBA в Excel, потому что я знаю несколько вещей.Основываясь на этом, я делаю одну пользовательскую форму, которая имеет и приносит всю необходимую нам информацию, но мне нужна помощь, чтобы завершить эти шаги.

1) Чтобы сделать ее функциональной, нажмите одну кнопку, чтобы открыть и выполнить форму (Готово)2) Сделайте так, чтобы в форме использовался поиск по полю и введите значения (Готово). 3) Создайте один комбинированный список, чтобы при выборе одного значения (с 4 значениями) система выполняла одно действие.(Нужна помощь для завершения) 4) Принесите все значения, которые были найдены при поиске (Готово) 5) Очистите предыдущий поиск и сбросьте форму для запуска (Нужна помощь в создании).6) Принесите один файл в поиске или одну папку, которая содержит файл, например .PDF или .DOC (не знаю, как сделать, или разместить одну гиперссылку на расположение папки)

Теперь я разместлю свой код ижелаю одной хорошей родственной душе o помочь мне и моим коллегам.

    Private Sub ComboBox1_Change()
    If ComboBox1.Value = "CÓDIGO" Then
        With Sheet1.Range("A:H")
              Set C = .Find(Pesquisa_Box.Value, LookIn:=xlValues, LOOKAT:=xlWhole)
              If Not C Is Nothing Then

                   Codigo_box.Text = C.Offset(0, 0)
                   Resolutiva_box.Text = C.Offset(0, 1)
                   Atuacao_Box.Text = C.Offset(0, 2)
                   Status_box.Text = C.Offset(0, 3)
                   BUG_Box.Text = C.Offset(0, 7)
                   TASK_Box.Text = C.Offset(0, 4)
                   WA_Box.Text = C.Offset(0, 5)
                   PB_Box.Text = C.Offset(0, 6)
                   BuscaG_BOX.Text = C.Offset(0, 8)
                   IOP_Box.Text = C.Offset(0, 10)

              End If
              If C Is Nothing Then
              MsgBox ("Nome Não Encontrado!!!"), vbOKOnly, ("Seu Aplicativo Pesquisando Dados")
              End If
              End With

    If ComboBox1.Value = "WA" Then
        With Sheet1.Range("A:H")
              Set C = .Find(Pesquisa_Box.Value, LookIn:=xlValues, LOOKAT:=xlWhole)
              If Not C Is Nothing Then

                      'WA
                      Codigo_box.Text = C.Offset(0, 0)
                      Resolutiva_box.Text = C.Offset(0, 1)
                      Atuacao_Box.Text = C.Offset(0, 2)
                      Status_box.Text = C.Offset(0, 3)
                      BUG_Box.Text = C.Offset(0, 7)
                      TASK_Box.Text = C.Offset(0, 4)
                      WA_Box.Text = C.Offset(0, 5)
                      PB_Box.Text = C.Offset(0, 6)
                      BuscaG_BOX.Text = C.Offset(0, 8)
                      IOP_Box.Text = C.Offset(0, 10)

              End If
              If C Is Nothing Then
              MsgBox ("Nome Não Encontrado!!!"), vbOKOnly, ("Seu Aplicativo Pesquisando Dados")
              End If
              End With

    If ComboBox1.Value = "TASK" Then
        With Sheet1.Range("A:H")
              Set C = .Find(Pesquisa_Box.Value, LookIn:=xlValues, LOOKAT:=xlWhole)
              If Not C Is Nothing Then

                      'TASK
                      Codigo_box.Text = C.Offset(0, 0)
                      Resolutiva_box.Text = C.Offset(0, 1)
                      Atuacao_Box.Text = C.Offset(0, 2)
                      Status_box.Text = C.Offset(0, 3)
                      BUG_Box.Text = C.Offset(0, 7)
                      TASK_Box.Text = C.Offset(0, 4)
                      WA_Box.Text = C.Offset(0, 5)
                      PB_Box.Text = C.Offset(0, 6)
                      BuscaG_BOX.Text = C.Offset(0, 8)
                      IOP_Box.Text = C.Offset(0, 10)

              End If
              If C Is Nothing Then
              MsgBox ("Nome Não Encontrado!!!"), vbOKOnly, ("Seu Aplicativo Pesquisando Dados")
              End If
              End With

    If ComboBox1.Value = "Busca Genérica" Then
        With Sheet1.Range("A:H")
              Set C = .Find(Pesquisa_Box.Value, LookIn:=xlValues, LOOKAT:=xlWhole)
              If Not C Is Nothing Then

                      'Busca Genérica
                      Codigo_box.Text = C.Offset(0, 0)
                      Resolutiva_box.Text = C.Offset(0, 1)
                      Atuacao_Box.Text = C.Offset(0, 2)
                      Status_box.Text = C.Offset(0, 3)
                      BUG_Box.Text = C.Offset(0, 7)
                      TASK_Box.Text = C.Offset(0, 4)
                      WA_Box.Text = C.Offset(0, 5)
                      PB_Box.Text = C.Offset(0, 6)
                      BuscaG_BOX.Text = C.Offset(0, 8)
                      IOP_Box.Text = C.Offset(0, 10)


              End If
              If C Is Nothing Then
              MsgBox ("Nome Não Encontrado!!!"), vbOKOnly, ("Seu Aplicativo Pesquisando Dados")
              End If
              End With
        End If
        End If
        End If
        End If
        End Sub

------------------------------------------------------------------------------

    Private Sub LimparDados_Click()
    Dim ctl As Control
    For Each ctl In Me.Controls
    If TypeName(ctl) = "TextBox" Then
    ctl.Text = vbNullString
    End If
    Next ctl 
   End Sub
-----------------------------------------------------------------------------

    Private Sub UserForm_Initialize()
    Dim Linha As Integer
  Linha = 1
    Do Until Sheet1.Cells(Linha, 17) = “”
    ComboBox1.AddItem Sheet1.Cells(Linha, 17)
  Linha = Linha + 1
    Loop
         End Sub

------------------------------------------------------------------------------

    Private Sub Pesquisar_Bot_Click()
    With Sheet1.Range("A:H")
    Set C = .Find(Pesquisa_Box.Value, LookIn:=xlValues, LOOKAT:=xlWhole)
    If Not C Is Nothing Then

    'CÓDIGO
      Codigo_box.Text = C.Offset(0, 0)
      Resolutiva_box.Text = C.Offset(0, 1)
      Atuacao_Box.Text = C.Offset(0, 2)
      Status_box.Text = C.Offset(0, 3)
      BUG_Box.Text = C.Offset(0, 7)
      TASK_Box.Text = C.Offset(0, 4)
      WA_Box.Text = C.Offset(0, 5)
      PB_Box.Text = C.Offset(0, 6)
      BuscaG_BOX.Text = C.Offset(0, 8)
      IOP_Box.Text = C.Offset(0, 10)


     End If
     If C Is Nothing Then
     MsgBox ("Nome Não Encontrado!!!"), vbOKOnly, ("Seu Aplicativo Pesquisando Dados")
     End If
     End With
     End Sub

Это моя форма пользователя и некоторые из моих столбцов

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