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