Страницы: 1
RSS
Обойти сообщение об ошибке при её отсутствии
 
Здравствуйте!
Образец взял с планеты. MsgBox выходит и при ошибке и без неё. Подправьте пожалуйста.
Код
Private Sub Врезультат()
    Const strName As String = "Рез.rzt"
    Const strNameL As String = "Результат"
    Dim str1 As String
        
    On Error GoTo MsgErr
    
    If ActiveSheet.Range("N30") = "ОК" Then
    
      str1 = ThisWorkbook.Path & Application.PathSeparator
      Workbooks.Open Filename:=str1 & strName
        
      With Workbooks(strName)
        ThisWorkbook.Sheets(strNameL).Copy Before:=Workbooks(strName).Sheets(1)
       .Save
       .Close 0
      End With
    End If
    
MsgErr:
    MsgBox "Файл был перемещён или используется не по назначению! Обратитесь к администратору", vbExclamation + vbOKOnly
    Application.DisplayAlerts = True

End Sub
 
Hamlook, Exit Sub перед меткой обычно пишут.
Название темы:
Обойти сообщение об ошибке при её отсутствии.
 
К примеру так:
Код
Private Sub Врезультат()
    Const strName As String = "Рез.rzt"
    Const strNameL As String = "Результат"
    Dim str1 As String
         
    On Error GoTo MsgErr
     
    If ActiveSheet.Range("N30") = "ОК" Then
     
      str1 = ThisWorkbook.Path & Application.PathSeparator
      Workbooks.Open Filename:=str1 & strName
         
      With Workbooks(strName)
        ThisWorkbook.Sheets(strNameL).Copy Before:=Workbooks(strName).Sheets(1)
       .Save
       .Close 0
      End With
    End If
Exit Sub   
MsgErr:
    MsgBox "Файл был перемещён или используется не по назначению! Обратитесь к администратору", vbExclamation + vbOKOnly
    Application.DisplayAlerts = True
 
End Sub
«Бритва Оккама» или «Принцип Калашникова»?
 
Спасибо. Exit Sub упустил.
 
А сообщения включить? Тогда уж
Код
If err<>"" Then  MsgBox ..
 
Цитата
vikttur написал:
If err<>"" Then  MsgBox
8-0
Код
If Err<>0 then msgbox err.description
 
Привет!

Уж если вы ждёте ошибку про файл, тогда ставьте
Код
    On Error GoTo MsgErr     
не перед
Код
    If ActiveSheet.Range("N30") = "ОК" Then
а перед
Код
Workbooks.Open 
Сравнение прайсов, таблиц - без настроек
Страницы: 1
Наверх