Range.Address is a parameterized property. You can peek at its definition using the Object Browser (just hit F2):

As you can see, the definition goes as follows:
Property Address([RowAbsolute], [ColumnAbsolute], [ReferenceStyle As XlReferenceStyle = xlA1], [External], [RelativeTo]) As String
Square brackets denoting optional parameters, when you do this:
foo = ActiveCell.Address
You're actually doing something like this:
foo = ActiveCell.Address( _ RowAbsolute:=True, _ ColumnAbsolute:=True, _ ReferenceStyle:=xlA1, _ External:=False, _ RelativeTo:=Nothing)
Note the xlA1 value of the ReferenceStyle argument; the other possibility for it is xlR1C1.
If you want to assign RefersToR1C1, you need to supply a R1C1 address, which involves supplying a non-default value to the ReferenceStyle parameter:
ActiveWorkbook.Names.Add _ Name:="BuBatch", _ RefersToR1C1:="='Business Units'!" & ActiveCell.Address(ReferenceStyle:=XlR1C1)
Or, use the default addressing style, and assign to RefersTo instead:
ActiveWorkbook.Names.Add _ Name:="BuBatch", _ RefersTo:="='Business Units'!" & ActiveCell.Address
I'd question the use of ActiveCell here: it implies that somewhere else in your code, you're activating that specific cell. Don't. Work with the object model instead:
Dim targetBook As Workbook Set targetBook = Application.Workbooks.Open(path) Dim target As Range Set target = targetBook.Worksheets("Sheet1").Range("A1") 'whatever the actual target cell is targetBook.Names.Add Name:="BuBatch", RefersTo:="='Business Units'!" & target.Address
R1C1as you are giving it an A1 style address.