|
UO3 さん、おはようございます。
>
>作業配列を1つだけ、ループ回数も半分に減らしてみました。
>
>Sub test()
Call TransposeRev([A1:A11], [C1])
>End Sub
揚げ足取る様なんですが、
上記の例でエラーになりませんか?
Transpose関数を使う位置を変えれば良さそうですが・・・。
>
>Private Sub TransposeRev(fromR As Range, toCell As Range)
> Dim v As Variant
> Dim w As Variant
>
> Dim i As Long, j As Long
>
> v = WorksheetFunction.Transpose(fromR)
>
> For j = LBound(v, 2) To UBound(v, 2) \ 2
> For i = LBound(v, 1) To UBound(v, 1)
> w = v(i, UBound(v, 2) + LBound(v, 2) - j)
> v(i, UBound(v, 2) + LBound(v, 2) - j) = v(i, j)
> v(i, j) = w
> Next
> Next
>
> toCell.Resize(UBound(v, 1), UBound(v, 2)).Value = v
>
>End Sub
StrReverseという関数がありましたよね?
↑これ使っても出来そうなんですけどねえ
他にもワークシート関数を使うとか・・・。
|
|