Q:

excel vba no code executed after Worksheets.add

I'm trying to create a bunch of tabs in a new workbook, with specific names taken from a range in another workbook.  In the example below the first msgbox is executed but never the second.  all of the tabs get created, but they don't get renamed. 
Sub CreateInstructorSheet(r As Range)
  Dim tabname As String
  tabname = r.Offset(0, 1).Value
  MsgBox tabname + " 1"
  newtab = wb. Worksheets. Add
  MsgBox tabname + " 2"   
  newtab. Name = tabname
End Sub

I've also tried using Sheets.add, and providing parameters in the add statement.  

A:

For some reason you haven't declared your newtab variable, and you are missing the Set keyword because you are trying to set newtab to a worksheet object.   You also never declared or assigned a value to the variable wb. 
Sub CreateInstructorSheet(r As Range)

    Dim wb as Workbook
    Dim newtab as Worksheet
    Dim tabname As String

    Set wb = r.Parent. Parent    'The first parent is the range's worksheet
                                'The second parent is the worksheet's workbook

    tabname = r.Offset(0, 1).Value
    MsgBox tabname + " 1"

    Set newtab = wb. Worksheets. Add
    MsgBox tabname + " 2"

    newtab. Name = tabname    'Be very careful here, this can result in an error
                             'if a worksheet already exists with a name
                             'that is the value of tabname
End Sub

