1. lRowMgmtComment is Dim-ed as a Long

Dim lRowAxisData, lRowAxisComment, lRowMgmtData, lRowMgmtComment As Long

but you're Set-ing like it's a Range

    Set lRowMgmtComment = .Find(what:="", after:=.Cells(1), LookIn:=xlValues, _
        searchorder:=xlByRows, searchdirection:=xlNext) 'finds the first empty row in the table
    If Not lRowMgmtComment Is Nothing Then
        'do stuff`
        Debug.Print "first empty row in Mgmt comments is " & lRowMgmtComment.Row 'First empty row
    End If

2. On a related (sort of) topic, in

Dim lRowAxisData, lRowAxisComment, lRowMgmtData, lRowMgmtComment As Long
lRowAxisData, lRowAxisComment, and lRowMgmtData are all defaulted to Variant since there's no explicit Type. You need to be wordy and explicit


I'm guessing that you meant

Dim lRowAxisData As Long, lRowAxisComment As Long, lRowMgmtData As Long, lRowMgmtComment As Long

3. I'd uncomment this

'Option Explicit