Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 39
Default Error capture mechanism, then 'End' or 'Exit Sub'?

Hi all,

Im in a situation to capture an error with details as follows:
The user may import some data and then the macro will look up some
values according to the import (VLOOKUP function). If the import data
is not found, the default error value '#N/A' will be returned. In this
scenario, the user will get a warning message. But how can this error
be captured?
I tried
If xxx.value = "#N/A" Then //<Runtime error '13' - Type
Mismatch fired here
<aler msgbox
(I also checked the value of xxx in the immediate window using '?xxx',
which gives 'Error 2042')

Then I tried
If IsNA(xxx.value) Then //<Compile error: Sub or Function
not defined fired here
(Also noticed that VBA automatically modified 'ISNA'(my original
typing) to 'IsNA'. Why is this???)

Im also quite confused by 'End' and 'Exit Sub', i.e. what difference
between the following:

If Error Then
<error Handling
End
End If

If Error Then
<error Handling
Exit Sub
End if

Thanks in advance and regards
Frank

  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 35,218
Default Error capture mechanism, then 'End' or 'Exit Sub'?

if xxx.text = "#N/A" then
...
would work

But so would:
if iserror(xxx.value) then
...


End on a line by itself is usually a very bad thing to use--I can't think of a
good reason to use it. It resets any persistent variables (public and static
variables).


OrientalPearl wrote:

Hi all,

Im in a situation to capture an error with details as follows:
The user may import some data and then the macro will look up some
values according to the import (VLOOKUP function). If the import data
is not found, the default error value '#N/A' will be returned. In this
scenario, the user will get a warning message. But how can this error
be captured?
I tried
If xxx.value = "#N/A" Then //<Runtime error '13' - Type
Mismatch fired here
<aler msgbox
(I also checked the value of xxx in the immediate window using '?xxx',
which gives 'Error 2042')

Then I tried
If IsNA(xxx.value) Then //<Compile error: Sub or Function
not defined fired here
(Also noticed that VBA automatically modified 'ISNA'(my original
typing) to 'IsNA'. Why is this???)

Im also quite confused by 'End' and 'Exit Sub', i.e. what difference
between the following:

If Error Then
<error Handling
End
End If

If Error Then
<error Handling
Exit Sub
End if

Thanks in advance and regards
Frank


--

Dave Peterson
  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 39
Default Error capture mechanism, then 'End' or 'Exit Sub'?

Thanks Dave for your prompt help! The two solutions both work well. Re
iserror, I looked up ISNA() and it seems more specialised on working
with '#N/A'. But why doesn't it in this case? Also, '.Text' and
'.Value' do things diffferently? (apparently they make the difference
here)

Ok. I will stick to 'Exit Sub' then. Save a bit of effort in choosing
from the two ;-)

You help is highly appreciated!! Thanks!

  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 4,391
Default Error capture mechanism, then 'End' or 'Exit Sub'?

OrientalPearl,
I think you'll find ISNA is an Excel worksheet function. As such VBA does
not understand what it means, hence the compile error.
If you want to use it, you need Application.WorksheetFunctions.ISNA(....

NickHK

"OrientalPearl" wrote in message
ups.com...
Thanks Dave for your prompt help! The two solutions both work well. Re
iserror, I looked up ISNA() and it seems more specialised on working
with '#N/A'. But why doesn't it in this case? Also, '.Text' and
'.Value' do things diffferently? (apparently they make the difference
here)

Ok. I will stick to 'Exit Sub' then. Save a bit of effort in choosing
from the two ;-)

You help is highly appreciated!! Thanks!



  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 35,218
Default Error capture mechanism, then 'End' or 'Exit Sub'?

and .text shows what's in the cell--it's affected by numberformat, too.

1234.5332 could be the value, but $1,234.53 could be the .text.

OrientalPearl wrote:

Thanks Dave for your prompt help! The two solutions both work well. Re
iserror, I looked up ISNA() and it seems more specialised on working
with '#N/A'. But why doesn't it in this case? Also, '.Text' and
'.Value' do things diffferently? (apparently they make the difference
here)

Ok. I will stick to 'Exit Sub' then. Save a bit of effort in choosing
from the two ;-)

You help is highly appreciated!! Thanks!


--

Dave Peterson


  #6   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 39
Default Error capture mechanism, then 'End' or 'Exit Sub'?

Thanks Nick. I intend to blame Excel Help since it categorises both
ISNA and ISERROR functions together, however does not mention at all
the difference in their usage as seen from my example!

Regards
Frank

  #7   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 39
Default Error capture mechanism, then 'End' or 'Exit Sub'?

I see. Thanks Dave =)

Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Error Capture Problem leerem Excel Discussion (Misc queries) 2 August 7th 09 02:54 PM
Excel screen capture to capture cells and row and column headings jayray Excel Discussion (Misc queries) 5 November 2nd 07 11:01 PM
Capture Update Links Error? Steph[_6_] Excel Programming 0 January 31st 06 03:26 PM
on error exit sub short_n_curly[_22_] Excel Programming 1 July 20th 05 07:01 PM
Capture event when exit Column G zSplash Excel Discussion (Misc queries) 2 December 27th 04 05:28 PM


All times are GMT +1. The time now is 06:08 AM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"