VBA Excel работает список аварийных сообщений на основе значения ячейки - PullRequest
0 голосов
/ 30 мая 2018

У меня есть список аварийных сообщений, которые я хочу отобразить в ячейке K5, в зависимости от значения в ячейке H5.У меня есть этот код в модуле.

Sub Display_Alarm_Descriptions()
    Dim alarmNumber As Integer, alarmMsg As String
    alarmNumber = Range("H5").Value
    If alarmNumber = 0 Then alarmMsg = "No Active Alarms"
    If alarmNumber = 1 Then alarmMsg = "Proofer Output Failure Safety"
    If alarmNumber = 2 Then alarmMsg = "Main Drive Overload"
    Range("K5").Value = alarmMsg

End Sub

Я хотел бы добавить текущий список отметки времени, когда значение в H5 изменяется, каково новое значение H5 и соответствующее аварийное сообщение от K5.Если H5 изменится, я хочу новую информацию (отметку времени, значение H5 и аварийное сообщение) в следующих доступных ячейках ниже.

1 Ответ

0 голосов
/ 30 мая 2018

Так проще:

<code>
Function AlarmDescriptions(Val As Integer) As String
    Dim alarmMsg As String

    Select Case Val
      Case 0
         alarmMsg = "No Active Alarms"
      Case 1
         alarmMsg = "Proofer Output Failure Safety"
      Case Else
         alarmMsg = "Main Drive Overload"
    End Select

    AlarmDescriptions = alarmMsg
End Function

Public Function Msg(Val As Integer) As String
   Dim Timestamp As Date

   Timestamp = Now
   Msg = Now & " - " & Val & " - " & AlarmDescriptions(Val)
End Function
</code>

Затем из любой ячейки просто введите формулу: =Msg(H5), и в этой ячейке появится сообщение

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