| 
    
     |  | 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という関数がありましたよね?
 ↑これ使っても出来そうなんですけどねえ
 他にもワークシート関数を使うとか・・・。
 
 
 |  |