У меня повторяющаяся ошибка, но я не уверен, как ее учесть. Я формулирую имя файла на основе содержимого нескольких разных ячеек. Если одна из ячеек пуста, я хочу, чтобы она была исключена из состава. Вот код:
ElseIf SaveChk = 1 Then
Module1.UserPath = Environ("USERPROFILE")
Module1.Path = UserPath & "\Desktop\"
If IsEmpty(Range("Y59")) Then
Module1.SaveName = Range("AE6").Value & " " & Range("E6").Value
Else
Module1.SaveName = Range("AE6").Value & " " & Range("E6").Value & " - " & Range("Y59").Value
End If
Application.EnableEvents = False
Range("AE59") = Format(Now, "mm-dd-yyyy hh:mm:ss AM/PM")
Application.EnableEvents = True
Call HideSheets
Application.DisplayAlerts = False
ThisWorkbook.SaveAs _
Filename:=Path & SaveName & ".xlsm", _
FileFormat:=52
Application.DisplayAlerts = True
MsgBox "Filename = " & SaveName & vbNewLine & "File is saved to your desktop."
Else
MsgBox "Please Completed Shaded Cells!", vbOK + vbExclamation, "SAVE CANCELLED"
End If
End If
Module1.SaveChk = 0 'Reset SaveChk variable
Module1.BttnChk = 0 'Reset BttnChk variable
Call UnhideSheets
Call Prot
Exit Sub
EH:
Call ErHa
Resume Next
End Sub
Код работает нормально. Тем не менее, я получаю сообщение об ошибке, когда Y59 находится в процессе редактирования. Я имею в виду, что если пользователь вводит число в Y59 и затем нажимает на мою пользовательскую кнопку сохранения вместо завершения редактирования ячейки, отображается мое сообщение сохранения, показанное выше, но затем выдается ошибка. При переходе по коду ошибка возникает в строке «Выход из подпрограммы» моего подпрограммы «Сохранить форму» (которая показана выше). Я пытаюсь объяснить этот случай использования, мысли?