It loops through the whole range, using only on loop.
The whole array size is rows*columns
you can check using
msgbox "row: " & (j-1)\ubound(sn,2)+1 & vblf & "column: " & (j-1) mod ubound(sn,2) +1