Ошибка при оценке ISEMPTY в редактируемой ячейке - PullRequest
0 голосов
/ 02 марта 2020

У меня повторяющаяся ошибка, но я не уверен, как ее учесть. Я формулирую имя файла на основе содержимого нескольких разных ячеек. Если одна из ячеек пуста, я хочу, чтобы она была исключена из состава. Вот код:

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 и затем нажимает на мою пользовательскую кнопку сохранения вместо завершения редактирования ячейки, отображается мое сообщение сохранения, показанное выше, но затем выдается ошибка. При переходе по коду ошибка возникает в строке «Выход из подпрограммы» моего подпрограммы «Сохранить форму» (которая показана выше). Я пытаюсь объяснить этот случай использования, мысли?

1 Ответ

0 голосов
/ 09 марта 2020

Как указывалось в моем последнем комментарии, проблема заключалась в подпункте «Смена листа», который я использовал для захвата команд вставки и преобразования их в команды вставки специальных значений.

Таким образом, этот подпункт конфликтовал с различными подпрограммы, используемые для проверки сохранения на моем рабочем листе.

Мне придется переделать подпрограммы, чтобы устранить ошибку или просто позволить ей go, потому что ошибка на самом деле ничего не делает.

...