#excel #vba #if-statement
#excel #vba #if-оператор
Вопрос:
Мне нужно обновить существующий номер заявки на VBA в Excel
Тем не менее, я много раз пытался перенести данные с листа в поле со списком номера билета от «A2» до добавления lastRow, но он сообщает мне о неправильном синтаксисе.
Как использовать значение ComboBox? как вставить его в инструкцию IF? пожалуйста, помогите мне выполнить следующее условие
- получите номер билета из таблицы Tickets
- запишите значение обновления из 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
.