Excel (VBA)

Excel VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 8 : Excel 2013)
列範囲の入力文字を入れ替えるには
投稿日時: 19/10/31 23:19:36
投稿者: eco2019

マウスで範囲を選択した列の入力文字を上下入れ替えたいです。
A1〜A5までマウスで選択し、実行すると
おえういあ と変わるようにしたいのですが、一度、ユーザーフォームに取り入れるようにした方がいいのでしょうか。。。すみません、簡単なことかも知れませんが、宜しくお願い致します。
 
  A  B  C
1 あ
2 い
3 う
4 え
5 お

回答
投稿日時: 19/11/01 06:53:34
投稿者: simple

一例です。

Sub test()
    Dim rng     As Range
    Dim v       As Variant
    Dim nums   As Long
    Dim k       As Long
    
    Set rng = Selection
    v = rng.Value
    nums = rng.count
    For k = 1 To nums
        rng.Cells(nums - k + 1, 1) = v(k, 1)
        ' 以下の書き方も可能です。
        'rng(nums - k + 1, 1) = v(k, 1)
        'rng(nums - k + 1) = v(k, 1)
    Next
End Sub

回答
投稿日時: 19/11/01 08:42:58
投稿者: WinArrow
投稿者のウェブサイトに移動

説明の範囲内で
 
あいうえお→おえういあ
 
単純に、昇順を降順に入れ替えているだけ・・・
VBAではなく、降順に並べ替えで対応できるのでは?

投稿日時: 19/11/02 00:17:35
投稿者: eco2019

お世話になります。
 
simpleさん、WinArrowさん、有難うございます。
 
説明が足りずに申し訳ございません。降順に並べ替えでは対応できないものですから。
 
例、大変、有難いです。有難うございます。