Ok, not as smart as I thought I was. While the above appeared to work when run on it's own, I've now included it in a larger project and it doesn't work as expected. Here's what I currently have:

Sub addScr()
Dim scrNum() 'Dynamic Array
Dim scrStart As String, scrEnd As String, scrRange As String
Dim scrTotal As Integer, nRows As Integer, scrCount As Integer

' These will be part of larger loop later, so need to be variable
scrStart = "J" & sCnt
scrEnd = "U" & sCnt
' Count number of non-empty cells in range for array
scrTotal = WorksheetFunction.CountIf(Worksheets("MeetData").Range(scrStart, scrEnd), ">0")
' Only do something if there is data in range for the array
If scrTotal > 0 Then
ReDim scrNum(scrTotal)
' Fill the array
For scrCount = 0 To scrTotal - 1
scrNum(scrCount) = Worksheets("MeetData").Cells(4, 10 + scrCount)
Next scrCount
' Use the array
For iScr = 0 To scrTotal - 1
nRows = 0
Worksheets("Temp").Select
Range("A1").Select
' If array value greater than 1, change active cell
If scrNum(iScr) > 1 Then
' Select start cell
Cells((scrNum(iScr) - 1) * 24, "A").Select
' Add reqired rows
Do Until nRows = 24
ActiveCell.EntireRow.Insert shift:=xlDown
nRows = nRows + 1
Loop
ActiveCell.Offset(1, 0).Value = "SCR"
' Otherwise, start where we are
Else
' Add required rows
Do Until nRows = 24
ActiveCell.EntireRow.Insert shift:=xlDown
nRows = nRows + 1
Loop
ActiveCell.Value = "SCR"
End If
Next iScr
End If
End Sub

It seems to find the data for the array without any problems, but instead of moving the insertion point for the rows based on the data, it's putting all the extra rows under "A1". So either I'm not getting the data to load into the array correctly or not reading it correctly.

Any help appreciated.