Hi,
The use of "Set" for objects can be optional in Visual Studio when using VB, so the samples don't always use it. They were also written for use by early versions of Visual Studio like 2010. Apparently VBA in Excel has its own unique quirks with syntax. In your case, it does not want parenthesis around the options for SetJoinMatchOptions. An alternative is to use Call in front of it. Here is a working sample from my Excel 2013
'The second example is a join using matching columns from two like
'datatables.
Dim Doc4 As JMP.Document
Dim Doc5 As JMP.Document
Dim NewDT2 As JMP.DataTable
Dim DT4 As JMP.DataTable
Dim DT5 As JMP.DataTable
Set MyJMP = CreateObject("JMP.Application")
MyJMP.Visible = True
Set Doc4 = MyJMP.OpenDocument("C:\Program Files\SAS\JMP\13\Samples\Data\Ingots.jmp")
Set Doc5 = MyJMP.OpenDocument("C:\Program Files\SAS\JMP\13\Samples\Data\Ingots2.jmp")
Set DT4 = Doc4.GetDataTable
Set DT5 = Doc5.GetDataTable
DT4.AddToJoinMatchList (("Heat"))
DT4.AddToJoinMatchList (("Soak"))
' Set options to Drop Multiples and Not include non-matches
DT4.SetJoinMatchOptions True, False
DT5.AddToJoinMatchList (("Heat"))
DT5.AddToJoinMatchList (("Soak"))
DT5.SetJoinMatchOptions True, False
Set NewDT2 = DT4.Join(DT5, JMP.dtJoinConstants.dtJoinMatching, "Join Table")
Brian