Используйте верхние границы массива для определения размера места назначения.
Явные ссылки на родительские таблицы помогут определить правильные ссылки на диапазон.
Sub Click()
Dim dat As Variant
With Worksheets(2)
with .range(.cells(31, "D"), .cells(31, "O"))
dat = .value
.Clear
.Cells(1, 1).resize(ubound(dat, 2), ubound(dat, 1)) = _
Application.Transpose(dat)
end with
End With
End Sub
В пределах .range(.cells(31, "D"), .cells(31, "O"))
,.Cells(1, 1)
- это .cells(31, "D")
на листе.