View Single Post
  #5   Report Post  
Posted to microsoft.public.excel.programming
Barb Reinhardt Barb Reinhardt is offline
external usenet poster
 
Posts: 3,355
Default Need Help on Define Names

Try something like this.

Option Explicit
Sub Test()
Dim aWB As Excel.Workbook
Dim myName As Excel.Name
Dim NameMatch As Boolean

Set aWB = ActiveWorkbook

NameMatch = False
For Each myName In aWB.Names
If myName.Name ="DefineName1" or_
myName.Name = "DefineName2" or _
nyName.name = "'Sheet 2'!DefineName3" Then

'Alternative
'if myName.Name like "*DefineName*" then

NameMatch = True
Exit For
End If
Next myName

If Not NameMatch Then
MsgBox "Please use another template.", vbInformation
Exit Sub
End If

'Execute rest of sub

End Sub


"Souny" wrote:

Hello all,

I have 3 defined names (Sheet1!DefineName1, Sheet1!DefineName2 and 'Sheet
2'!DefineName3) in two worksheets of my Excel file.

I need help with writing a code to execute if one of the 3 above defined
names is not in the workbook, message the users that please use another
template. Else execute the rest of code.

Below is the code that I currently have, and it's not working.

if activeworkbook.name<"DefineName1" or activeworkbook.name<"DefineName2"
or activeworkbook.name<"'Sheet 2'!DefineName3" then
msgbox "Please use another template.",vbinformation
else
execute the rest of code
end if

Based on the above code, even if I have all three define names in the
workbook, the message comes up and it does not execute the rest of code. The
message should not come up and the code should execute the rest of code if
all three define names are in the workbook.

Thanks.