26/06/2022 | jiangws Sub ArraySlicing() Dim arr(1 To 5, 1 To 5) Dim slice Dim x, y Dim a As Application 'Populate a sample 2-D array with values... For y = 1 To 5 For x = 1 To 5 arr(y, x) = "R" & y & ":C" & x Next x Next y '...done setting up sample array Set a = Application 'this is just to shorten the following lines 'Example 1: get the first "column" slice = a.Transpose(a.Index(arr, 0, 1)) Debug.Print Join(slice, ", ") 'display what we got 'Example 2: get second "row" (note double transpose) slice = a.Transpose(a.Transpose(a.Index(arr, 2, 0))) Debug.Print Join(slice, ", ") 'display what we got End Sub from: https://stackoverflow.com/a/22769603/17357868