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.
|