I tried creating an array for the values in the range but this did not seem to work (I got this from a Youtube guide but changed the cell reference to get all the values in the single row of every column up until the last non-blank cell).
' 1. Find the range of data (headers).
' Create a variable that searches a range
Dim headers As range
Set headers = shData.range(rows(1)).CurrentRegion
' In the first row of every column up until the last non-blank column
Dim arr As Variant
' Get the values for each cell for each value in the range as an array
arr = headers.Value