<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://www.vbex.ru/index.php?action=history&amp;feed=atom&amp;title=VBA%2FExcel%2FAccess%2FWord%2FLanguage_Basics%2FError</id>
		<title>VBA/Excel/Access/Word/Language Basics/Error - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://www.vbex.ru/index.php?action=history&amp;feed=atom&amp;title=VBA%2FExcel%2FAccess%2FWord%2FLanguage_Basics%2FError"/>
		<link rel="alternate" type="text/html" href="http://www.vbex.ru/index.php?title=VBA/Excel/Access/Word/Language_Basics/Error&amp;action=history"/>
		<updated>2026-04-06T00:12:18Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://www.vbex.ru/index.php?title=VBA/Excel/Access/Word/Language_Basics/Error&amp;diff=1150&amp;oldid=prev</id>
		<title> в 16:33, 26 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://www.vbex.ru/index.php?title=VBA/Excel/Access/Word/Language_Basics/Error&amp;diff=1150&amp;oldid=prev"/>
				<updated>2010-05-26T16:33:00Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 16:33, 26 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://www.vbex.ru/index.php?title=VBA/Excel/Access/Word/Language_Basics/Error&amp;diff=1151&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://www.vbex.ru/index.php?title=VBA/Excel/Access/Word/Language_Basics/Error&amp;diff=1151&amp;oldid=prev"/>
				<updated>2010-05-26T12:46:31Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Check the error number==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub errorTest1()&lt;br /&gt;
    Dim intNumerator As Integer&lt;br /&gt;
    Dim intDenominator As Integer&lt;br /&gt;
    Dim intResult As Double&lt;br /&gt;
    On Error GoTo mytrap&lt;br /&gt;
    intNumerator = InputBox(&amp;quot;Please enter a numerator&amp;quot;, &amp;quot;Numerator&amp;quot;)&lt;br /&gt;
enterDenominator:&lt;br /&gt;
    intDenominator = InputBox(&amp;quot;Please enter a denominator&amp;quot;, &amp;quot;Denominator&amp;quot;)&lt;br /&gt;
    intResult = intNumerator / intDenominator&lt;br /&gt;
    msgBox &amp;quot;The result is &amp;quot; &amp;amp; intResult&lt;br /&gt;
    Exit Sub&lt;br /&gt;
mytrap:&lt;br /&gt;
    If Err.number = 11 Then&lt;br /&gt;
       msgBox (&amp;quot;The description of the error is &amp;quot; &amp;amp; Err.Description)&lt;br /&gt;
    Else&lt;br /&gt;
       msgBox (&amp;quot;Something else is going wrong&amp;quot;)&lt;br /&gt;
    End If&lt;br /&gt;
    Resume enterDenominator&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Create an error, and then query the object for the error number and description==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub errorTest0()&lt;br /&gt;
    Dim intNumerator As Integer&lt;br /&gt;
    Dim intDenominator As Integer&lt;br /&gt;
    Dim intResult As Double&lt;br /&gt;
On Error GoTo mytrap&lt;br /&gt;
   intNumerator = InputBox(&amp;quot;Please enter a numerator&amp;quot;, &amp;quot;Numerator&amp;quot;)&lt;br /&gt;
enterDenominator:&lt;br /&gt;
   intDenominator = InputBox(&amp;quot;Please enter a denominator&amp;quot;, &amp;quot;Denominator&amp;quot;)&lt;br /&gt;
   intResult = intNumerator / intDenominator&lt;br /&gt;
   msgBox &amp;quot;The result is &amp;quot; &amp;amp; intResult&lt;br /&gt;
   Exit Sub&lt;br /&gt;
mytrap:&lt;br /&gt;
    msgBox &amp;quot;The number of this error is &amp;quot; &amp;amp; Err.number&lt;br /&gt;
    msgBox &amp;quot;The description of the error is &amp;quot; &amp;amp; Err.Description&lt;br /&gt;
    Resume enterDenominator&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Creating a User-Defined Error==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub TestCustomError()&lt;br /&gt;
   On Error GoTo TestCustomError_Err&lt;br /&gt;
   Dim strName As String&lt;br /&gt;
   strName = &amp;quot;aa&amp;quot;&lt;br /&gt;
   If Len(strName) &amp;lt; 5 Then&lt;br /&gt;
      Err.Raise number:=11111, _&lt;br /&gt;
               Description:=&amp;quot;Length of Name is Too Short&amp;quot;&lt;br /&gt;
   Else&lt;br /&gt;
     msgBox &amp;quot;You Entered &amp;quot; &amp;amp; strName&lt;br /&gt;
   End If&lt;br /&gt;
   Exit Sub&lt;br /&gt;
TestCustomError_Err:&lt;br /&gt;
    &amp;quot;Display a message with the error number&lt;br /&gt;
    &amp;quot;and description&lt;br /&gt;
    msgBox &amp;quot;Error # &amp;quot; &amp;amp; Err.number &amp;amp; _&lt;br /&gt;
        &amp;quot; - &amp;quot; &amp;amp; Err.Description&lt;br /&gt;
    Exit Sub&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Deal with the error==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub errorTest()&lt;br /&gt;
    Dim intNumerator As Integer&lt;br /&gt;
    Dim intDenominator As Integer&lt;br /&gt;
    Dim intResult As Integer&lt;br /&gt;
On Error GoTo mytrap&lt;br /&gt;
    intNumerator = 1&lt;br /&gt;
    intDenominator = 0&lt;br /&gt;
    intResult = intNumerator / intDenominator&lt;br /&gt;
    msgBox (&amp;quot;The result is &amp;quot; &amp;amp; intResult)&lt;br /&gt;
    Exit Sub&lt;br /&gt;
mytrap:&lt;br /&gt;
    msgBox &amp;quot;You cannot divide by zero&amp;quot;&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Get the Error source==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub errorTest2()&lt;br /&gt;
    Dim intNumerator As Integer&lt;br /&gt;
    Dim intDenominator As Integer&lt;br /&gt;
    Dim intResult As Double&lt;br /&gt;
    On Error GoTo mytrap&lt;br /&gt;
    intNumerator = InputBox(&amp;quot;Please enter a numerator&amp;quot;, &amp;quot;Numerator&amp;quot;)&lt;br /&gt;
enterDenominator:&lt;br /&gt;
    intDenominator = InputBox(&amp;quot;Please enter a denominator&amp;quot;, &amp;quot;Denominator&amp;quot;)&lt;br /&gt;
    intResult = intNumerator / intDenominator&lt;br /&gt;
    msgBox &amp;quot;The result is &amp;quot; &amp;amp; intResult&lt;br /&gt;
    Exit Sub&lt;br /&gt;
mytrap:&lt;br /&gt;
    If Err.number = 11 Then&lt;br /&gt;
       msgBox (Err.Source)&lt;br /&gt;
    Else&lt;br /&gt;
       msgBox (&amp;quot;Something else is going wrong&amp;quot;)&lt;br /&gt;
    End If&lt;br /&gt;
    Resume enterDenominator&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Move through the Errors collection and display properties of each Error object==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Public Sub errorTest3()&lt;br /&gt;
    Dim myConn As ADODB.Connection&lt;br /&gt;
    Dim myErr As ADODB.Error&lt;br /&gt;
    Dim strError As String&lt;br /&gt;
    On Error GoTo myHandler&lt;br /&gt;
    &amp;quot; Intentionally trigger an error&lt;br /&gt;
    Set myConn = New ADODB.Connection&lt;br /&gt;
    myConn.Open &amp;quot;nothing&amp;quot;&lt;br /&gt;
    Set myConn = Nothing&lt;br /&gt;
    Exit Sub&lt;br /&gt;
myHandler:&lt;br /&gt;
    For Each myErr In myConn.Errors&lt;br /&gt;
        strError = &amp;quot;Error #&amp;quot; &amp;amp; Err.number &amp;amp; vbCr &amp;amp; _&lt;br /&gt;
            &amp;quot;   &amp;quot; &amp;amp; myErr.Description &amp;amp; vbCr &amp;amp; _&lt;br /&gt;
            &amp;quot;   (Source: &amp;quot; &amp;amp; myErr.Source &amp;amp; &amp;quot;)&amp;quot; &amp;amp; vbCr &amp;amp; _&lt;br /&gt;
            &amp;quot;   (SQL State: &amp;quot; &amp;amp; myErr.SQLState &amp;amp; &amp;quot;)&amp;quot; &amp;amp; vbCr &amp;amp; _&lt;br /&gt;
            &amp;quot;   (NativeError: &amp;quot; &amp;amp; myErr.NativeError &amp;amp; &amp;quot;)&amp;quot; &amp;amp; vbCr&lt;br /&gt;
        If myErr.HelpFile = &amp;quot;&amp;quot; Then&lt;br /&gt;
            strError = strError &amp;amp; &amp;quot;   No Help file available&amp;quot;&lt;br /&gt;
        Else&lt;br /&gt;
            strError = strError &amp;amp; _&lt;br /&gt;
               &amp;quot;   (HelpFile: &amp;quot; &amp;amp; myErr.HelpFile &amp;amp; &amp;quot;)&amp;quot; &amp;amp; vbCr &amp;amp; _&lt;br /&gt;
               &amp;quot;   (HelpContext: &amp;quot; &amp;amp; myErr.HelpContext &amp;amp; &amp;quot;)&amp;quot; &amp;amp; _&lt;br /&gt;
               vbCr &amp;amp; vbCr&lt;br /&gt;
        End If&lt;br /&gt;
        Debug.Print strError&lt;br /&gt;
    Next&lt;br /&gt;
    Resume Next&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Properties of the Err Object==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Property        Description&lt;br /&gt;
Description     Description of the error that occurred&lt;br /&gt;
HelpContext     Context ID for the Help file&lt;br /&gt;
HelpFile        Path and filename of the Help file&lt;br /&gt;
LastDllError    Last error that occurred in a 32-bit dynamic link library (DLL)&lt;br /&gt;
Number          Number of the error that was set&lt;br /&gt;
Source          System in which the error occurred &lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Raising an Error==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub TestRaiseError()&lt;br /&gt;
    On Error GoTo TestRaiseError_Err&lt;br /&gt;
    Dim sngResult As String&lt;br /&gt;
    Err.Raise 11&lt;br /&gt;
    Exit Sub&lt;br /&gt;
TestRaiseError_Err:&lt;br /&gt;
    msgBox &amp;quot;Error #&amp;quot; &amp;amp; Err.number &amp;amp; &amp;quot;: &amp;quot; &amp;amp; Err.Description&lt;br /&gt;
    Exit Sub&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==RunTime Error ethod Range of Object Global Failed==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub SetReportInItalics()&lt;br /&gt;
    TotalRow = cells(Rows.count, 1).End(xlUp).row&lt;br /&gt;
    FinalRow = TotalRow - 1&lt;br /&gt;
    range(&amp;quot;A1:A&amp;quot; &amp;amp; FinalRow).font.Italic = True&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Runtime Error 9: Subscript Out of Range==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub GetSettings()&lt;br /&gt;
    On Error Resume Next&lt;br /&gt;
    x = ThisWorkbook.Worksheets(&amp;quot;Menu&amp;quot;).name&lt;br /&gt;
    If Not Err.Number = 0 Then&lt;br /&gt;
        MsgBox &amp;quot;Expected to find a Menu worksheet, but it is missing&amp;quot;&lt;br /&gt;
        Exit Sub&lt;br /&gt;
    End If&lt;br /&gt;
    On Error GoTo 0&lt;br /&gt;
    ThisWorkbook.Worksheets(&amp;quot;Menu&amp;quot;).Select&lt;br /&gt;
    x = range(&amp;quot;A1&amp;quot;).value&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Show Error discription in MsgBox==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub ErrorTrap2()&lt;br /&gt;
  Dim Answer As Long, MyFile As String&lt;br /&gt;
  Dim Message As String, currentPath As String&lt;br /&gt;
  &lt;br /&gt;
  On Error GoTo errTrap&lt;br /&gt;
  MyFile = &amp;quot;A:\Data.xls&amp;quot;&lt;br /&gt;
  Application.DisplayAlerts = False&lt;br /&gt;
  ActiveWorkbook.SaveAs FileName:=MyFile&lt;br /&gt;
Exit Sub&lt;br /&gt;
errTrap:&lt;br /&gt;
  MsgBox Err.Description&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Show Error Number==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub ErrorTrap2()&lt;br /&gt;
  Dim MyFile As String, Message As String&lt;br /&gt;
  Dim Answer As String&lt;br /&gt;
  &lt;br /&gt;
  On Error GoTo errTrap&lt;br /&gt;
  &lt;br /&gt;
  Workbooks.Add&lt;br /&gt;
  MyFile = &amp;quot;C:\Data.xls&amp;quot;&lt;br /&gt;
  Kill MyFile&lt;br /&gt;
  ActiveWorkbook.SaveAs FileName:=MyFile&lt;br /&gt;
  ActiveWorkbook.Close&lt;br /&gt;
 &lt;br /&gt;
  Exit Sub&lt;br /&gt;
errTrap:&lt;br /&gt;
  Message = &amp;quot;Error No: = &amp;quot; &amp;amp; Err.Number &amp;amp; vbCr&lt;br /&gt;
  Message = Message &amp;amp; Err.Description &amp;amp; vbCr &amp;amp; vbCr&lt;br /&gt;
  Message = Message &amp;amp; &amp;quot;File does not exist&amp;quot;&lt;br /&gt;
  Answer = MsgBox(Message, vbInformation, &amp;quot;Error&amp;quot;)&lt;br /&gt;
  Resume Next&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==The Mail your Error Routine==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub MailError(strUserInfo As String, _&lt;br /&gt;
    strErrorInfo As String)&lt;br /&gt;
    Dim objCurrentMessage As Outlook.MailItem&lt;br /&gt;
    Dim objNamespace As Outlook.NameSpace&lt;br /&gt;
    Dim objMessage As Outlook.MAPIFolder&lt;br /&gt;
    Set objNamespace = GetOutlook()&lt;br /&gt;
    Set objMessage = objNamespace.GetDefaultFolder(olFolderOutbox)&lt;br /&gt;
    With objMessage.Items.Add(olMailItem)&lt;br /&gt;
        .To = &amp;quot;guru@somecompany.ru&amp;quot;&lt;br /&gt;
        .Subject = strUserInfo&lt;br /&gt;
        .Body = strErrorInfo&lt;br /&gt;
        .Save&lt;br /&gt;
    End With&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Trap the error with On Error GoTo==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub ErrorTrap()&lt;br /&gt;
  Dim Answer As Long, MyFile As String&lt;br /&gt;
  Dim Message As String, currentPath As String&lt;br /&gt;
  &lt;br /&gt;
  On Error GoTo errTrap&lt;br /&gt;
  MyFile = &amp;quot;A:\Data.xls&amp;quot;&lt;br /&gt;
  Application.DisplayAlerts = False&lt;br /&gt;
  ActiveWorkbook.SaveAs FileName:=MyFile&lt;br /&gt;
Exit Sub&lt;br /&gt;
errTrap:&lt;br /&gt;
  MsgBox &amp;quot;Error No: = &amp;quot; &amp;amp; Err.Number&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Try again in case an error==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub TryAgain()&lt;br /&gt;
  Dim Value As Double&lt;br /&gt;
  On Error GoTo Except&lt;br /&gt;
  &lt;br /&gt;
    Value = CInt(InputBox(&amp;quot;Enter a number:&amp;quot;, &amp;quot;Number&amp;quot;))&lt;br /&gt;
    Value = 10 / Value&lt;br /&gt;
    MsgBox &amp;quot;10 / &amp;quot; &amp;amp; 10 * Value &amp;amp; &amp;quot;=&amp;quot; &amp;amp; Value&lt;br /&gt;
  &lt;br /&gt;
  Exit Sub&lt;br /&gt;
  &lt;br /&gt;
Except:&lt;br /&gt;
  If (MsgBox(Err.Description &amp;amp; &amp;quot;. Try again&amp;quot;, vbYesNo, _&lt;br /&gt;
    &amp;quot;Try Again&amp;quot;) = vbYes) Then TryAgain&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using the LogError Routine==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub LogError()&lt;br /&gt;
    Dim cnn As adodb.Connection&lt;br /&gt;
    Dim strSQL As String&lt;br /&gt;
    Set cnn = CurrentProject.Connection&lt;br /&gt;
    strSQL = &amp;quot;INSERT INTO tblErrorLog ( ErrorDate, ErrorTime, &amp;quot; &amp;amp; _&lt;br /&gt;
    &amp;quot;UserName, ErrorNum, ErrorString, ModuleName, RoutineName) &amp;quot;&lt;br /&gt;
    strSQL = strSQL &amp;amp; &amp;quot;Select #&amp;quot; &amp;amp; gtypError.datDateTime &amp;amp; &amp;quot;#, #&amp;quot; _&lt;br /&gt;
                              &amp;amp; gtypError.datDateTime &amp;amp; &amp;quot;#, &amp;quot;&amp;quot; _&lt;br /&gt;
                              &amp;amp; gtypError.strUserName &amp;amp; &amp;quot;&amp;quot;, &amp;quot; _&lt;br /&gt;
                              &amp;amp; gtypError.lngErrorNum &amp;amp; &amp;quot;, &amp;quot;&amp;quot; _&lt;br /&gt;
                              &amp;amp; gtypError.strMessage &amp;amp; &amp;quot;&amp;quot;, &amp;quot;&amp;quot; _&lt;br /&gt;
                              &amp;amp; gtypError.strModule &amp;amp; &amp;quot;&amp;quot;, &amp;quot;&amp;quot; _&lt;br /&gt;
                              &amp;amp; gtypError.strRoutine &amp;amp; &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    &amp;quot;Execute the SQL statement&lt;br /&gt;
    cnn.Execute strSQL, , adExecuteNoRecords&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Viewing the Errors Stored in the Errors Collection==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub TestErrorsCollection()&lt;br /&gt;
    On Error GoTo TestErrorsCollection_Err&lt;br /&gt;
    Dim db As DAO.Database&lt;br /&gt;
    Set db = CurrentDb&lt;br /&gt;
    db.Execute (&amp;quot;qryNonExistent&amp;quot;)&lt;br /&gt;
    Exit Sub&lt;br /&gt;
TestErrorsCollection_Err:&lt;br /&gt;
    Dim ErrorDescrip As DAO.Error&lt;br /&gt;
    For Each ErrorDescrip In Errors&lt;br /&gt;
        Debug.Print ErrorDescrip.number&lt;br /&gt;
        Debug.Print ErrorDescrip.Description&lt;br /&gt;
    Next ErrorDescrip&lt;br /&gt;
    Exit Sub&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Writing Information to a Textual Error Log File==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub LogErrorText()&lt;br /&gt;
    Dim intFile As Integer&lt;br /&gt;
    &amp;quot;Store a free file handle into a variable&lt;br /&gt;
    intFile = FreeFile&lt;br /&gt;
    &amp;quot;Open a file named ErrorLog.txt in the current directory&lt;br /&gt;
    &amp;quot;using the file handle obtained above&lt;br /&gt;
    Open CurDir &amp;amp; &amp;quot;\ErrorLog.Txt&amp;quot; For Append Shared As intFile&lt;br /&gt;
    &amp;quot;Write the error information to the file&lt;br /&gt;
    Write #intFile, &amp;quot;LogErrorDemo&amp;quot;, Now, Err, Error, CurrentUser()&lt;br /&gt;
    &amp;quot;Close the file&lt;br /&gt;
    Close intFile&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>