Как использовать значение CombBox в отчете If в VBA Excel?

#excel #vba #if-statement

#excel #vba #if-оператор

Вопрос:

введите описание изображения здесь

Мне нужно обновить существующий номер заявки на VBA в Excel

Тем не менее, я много раз пытался перенести данные с листа в поле со списком номера билета от «A2» до добавления lastRow, но он сообщает мне о неправильном синтаксисе.

Как использовать значение ComboBox? как вставить его в инструкцию IF? пожалуйста, помогите мне выполнить следующее условие

  1. получите номер билета из таблицы Tickets
  2. запишите значение обновления из combBox Close by и статуса тикета в оба листа тикета и удалите их из листа PendingTickets, если статус тикета решен или закрыт

код проверки, находится ли статус запроса в ожидании или в процессе

 Dim Ws As Worksheet
Dim lastRow As Long
Dim openOn As Date


'Declare openBy to date Now function'
openOn = Now()
'set format function on time var'
openTimeAmPM = Format(openOn, "m.d.yy h:mm AM/PM")


 'copy ticket data to Pending tickst sheet if the ticket status is Pending or On progress'
  '  If SieraForum.CombTicketStatus.Value = "Pending" Or "On Progress" Then
        Sheets("PendingTickets").Cells(lastRow   1, 1).Value = lastRow
        Sheets("PendingTickets").Cells(lastRow   1, 2).Value = SieraForum.txtTicketName.Value
        
        ElseIf SieraForum.ErrorOption = True Then
         Sheets("PendingTickets").Cells(lastRow   1, 3).Value = "Error"
        ElseIf SieraForum.OrderOption = True Then
         Sheets("PendingTickets").Cells(lastRow   1, 3).Value = "Order"
        
            Sheets("PendingTickets").Cells(lastRow   1, 4).Value = SieraForum.CombSeverity.Value
            Sheets("PendingTickets").Cells(lastRow   1, 5).Value = SieraForum.CombLocation.Value
            Sheets("PendingTickets").Cells(lastRow   1, 6).Value = SieraForum.txtTicketDetails.Value
            Sheets("PendingTickets").Cells(lastRow   1, 7).Value = SieraForum.CombOpenBy.Value
            Sheets("PendingTickets").Cells(lastRow   1, 8).Value = SieraForum.CombCloseBy.Value
            Sheets("PendingTickets").Cells(lastRow   1, 9).Value = SieraForum.CombTicketStatus.Value
            Sheets("PendingTickets").Cells(lastRow   1, 10).Value = openTimeAmPM
    
    Else
         MsgBox "The Ticket is Added Successfully"
    End If
         
    
  

код кнопки сохранения при нажатии на тикет обновления

     Private Sub btnSave2_Click()
 
    'declare close on date function'
     Dim closeOn As Date
     
     ' set format function on time var'
     closeOn = Now()
     closeTimeAmPM = Format(openOn, "m.d.yy h:mm AM/PM")
    
     
    'To enter new line'
    lastRow = WorksheetFunction.CountA(Sheets("Tickets").Range("A:A"))
    Sheets("Tickets").Cells(lastRow   1, 1).Value = lastRow
     
    Sheets("Tickets").Cells(lastRow   1, 8).Value = SieraForum.CombCloseBy.Value
    Sheets("Tickets").Cells(lastRow   1, 9).Value = SieraForum.CombTicketStatus2.Value
    'write the update statement'
    'Sheets("Tickets").Cells(lastRow   1, 12).Value = "Update Statement > "   SieraForum.txtTicketUpdate.Value
    Sheets("Tickets").Cells(lastRow   1, 11).Value = closeTimeAmPM
            
    'Clear the data from the form'
    SieraForum.CombTicketNum.Value = ""
    SieraForum.CombCloseBy = ""
    SieraForum.CombTicketStatus2 = ""
    SieraForum.txtTicketUpdate.Value = ""

End Sub
  

Ответ №1:

Первое If закомментировано. Синтаксическая ошибка вызвана наличием ElseIf , Else и End If отсутствием соответствия If .