View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
Barb Reinhardt Barb Reinhardt is offline
external usenet poster
 
Posts: 3,355
Default "With ActiveSheet" validation question

I'm not sure how you have an XLS file with no sheets in it. Whenever I've
tried to delete the last sheet in a workbook, I get an error.

I'm not exactly sure what you're doing, but I often refer to a sheet this way

Dim myWS as Excel.Worksheet

Set myWS = ActiveSheet 'or some other sheet you want to work on.

or you could do something like this
Dim myWB as Excel.Workbook

Set myWB = WOrkbooks.open(filename) 'Your DBF File
Set myWS = nothing
on error resume next
Set myWS = mywb.worksheets("SheetName")
On error goto 0
if not myws is nothing then
'Action on worksheet.

end if

These are some ideas.

HTH,
Barb Reinhardt


"Virgil" wrote:

Hi

Issue: ActiveSheet not always valid

Context :
I have a VBA sub called via a macro . It is in an XLS file with no SHEETS in
it.
The macro is used for DBF files opened by Excel.

With ActiveSheet

...

End With

Mo
Sometimes when i run the macro, my trace shows "Form" for the ActiveSheet
name which on paper does not exist. Usually it is the name of the DBF file.
The DBF can be opened by a double lick or after excel has been started.
Then the XLS macro file is opened. As the DBF file name may change i don't
want to force some name on it.
Usually all i do is click on a DBF field then re-run the macro.

Is there a simple way to "active" the only Sheet available in the session in a generic way ?


Thanks