У меня есть 80 строк, где пользователь может ввести предварительно определенное значение в столбце Ward.Это показывает кнопку рядом с ним.При щелчке по нему он опустошает смежное значение и увеличивает (+1) конкретную ячейку на другом листе в зависимости от исходного значения.
В настоящее время у меня есть 80 кнопок ActiveX рядом с ячейками Уорда, которые скрываются / отображаются в зависимости отна значение клеток Уорда.Я заметил, что добавление дополнительных кнопок замедляет электронную таблицу из-за огромного объема операторов If Then, которые у меня есть.
If Range("F8").Value = 0 Then
Sheets("Admissions").EDAdmit1.Visible = False
Else
Sheets("Admissions").EDAdmit1.Visible = True
End If
If Range("L8").Value = 0 Then
Sheets("Admissions").ElecAdmit1.Visible = False
Else
Sheets("Admissions").ElecAdmit1.Visible = True
End If
If Range("F9").Value = 0 Then
Sheets("Admissions").EDAdmit2.Visible = False
Else
Sheets("Admissions").EDAdmit2.Visible = True
End If
If Range("L9").Value = 0 Then
Sheets("Admissions").ElecAdmit2.Visible = False
Else
Sheets("Admissions").ElecAdmit2.Visible = True
End If
.. и т. Д.
Не говоря уже о IfТогда у меня есть заявления для каждого нажатия кнопки.
Private Sub EDAdmit1_Click()
If Range("F8") = "ICU" Then
Worksheets("Overview").Range("AD11").Value = Worksheets("Overview").Range("AD11") + 1
ElseIf Range("F8") = "HDU" Then
Worksheets("Overview").Range("AF11").Value = Worksheets("Overview").Range("AF11") + 1
ElseIf Range("F8") = "DPU" Or Range("F8") = "Other" Then
Else
Col = WorksheetFunction.VLookup(Range("F8"), Range("U1:V27"), 2)
Worksheets("Overview").Range(Col).Value = Worksheets("Overview").Range(Col).Value + 1
End If
Range("F8").ClearContents
End Sub
Есть ли более эффективный способ сделать это?
Список допуска:
![Admission List](https://i.stack.imgur.com/iQxCW.png)
![Tranfers](https://i.stack.imgur.com/NEe5X.png)