Function sbReShape(v As Variant, _
Optional bByRow As Boolean = True, _
Optional lColumns As Long = 1) As Variant
'Reverse("moc.LiborPlus.www") PB 09-Oct-2012 V0.6
Dim vP As Variant, vI As Variant, vR As Variant
Dim i(1 To 2) As Long, j As Long
Dim k(1 To 2) As Long, rc(1 To 2) As Long
With Application.WorksheetFunction
vP = .Transpose(.Transpose(v))
If TypeName(Application.Caller) = "Range" Then
ReDim vR(1 To rc(1), 1 To rc(2))
sbReShape = Application.WorksheetFunction.Transpose(vR)
vR(i(3 - j), i(j)) = CVErr(xlErrValue)
sbReShape = Application.WorksheetFunction.Transpose(vR)