Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


39250 / 76738 ←次へ | 前へ→

【42603】Re:並び替えの件で・・・
回答  ichinose  - 06/9/16(土) 11:13 -

引用なし
パスワード
   おはようございます。

私もKeinさんの

>作業列を使ってRIGHT関数で数値の部分を抜き出すやりかたの方が
>ずっと簡単・明瞭に処理できると思います。

に賛成です。だって、Excelならではですからねえ!!

学校の課題とかでなければ・・・、
>
>例えば、下記のようなコードが並んでいて・・・
>ABC111
>ABCD123
>ABC111
>ABC555
>ABC555
>
>並び替えをすると・・・
>ABC111
>ABC111
>ABCD123
>ABC555
>ABC555
上記のデータがアクティブシートのセルA1から並んでいるとすると、


標準モジュールに
'=================================================================
Sub test()
  Dim idx As Variant
  Dim g0 As Long
  Dim in_alpha As Variant
  Dim only_num As Variant
  Dim addr As String
  addr = Range("a1", Cells(Rows.Count, "a").End(xlUp)).Address
  in_alpha = Application.Transpose(Range("a1", Cells(Rows.Count, "a").End(xlUp)).Value)
  only_num = Evaluate("=transpose(value(right(" & addr & ",3)))")
  For g0 = 1 To UBound(only_num)
    With Application
     idx = .Match(.Min(only_num), only_num, 0)
     End With
    Cells(g0, "a").Value = in_alpha(idx)
    only_num(idx) = ""
    Next
End Sub

こんな方法もあります。
(ソートのアルゴリズムの課題なら、
この方法は駄目・・・、と言われますけどね!!)

試してみてください。

デワ2.☆彡
0 hits

【42581】並び替えの件で・・・ kouka 06/9/15(金) 16:00 質問
【42583】Re:並び替えの件で・・・ Kein 06/9/15(金) 16:57 回答
【42608】Re:並び替えの件で・・・ Kein 06/9/16(土) 12:47 回答
【42590】Re:並び替えの件で・・・ だるま 06/9/15(金) 20:19 回答
【42603】Re:並び替えの件で・・・ ichinose 06/9/16(土) 11:13 回答
【42607】Re:並び替えの件で・・・ Ned 06/9/16(土) 12:38 発言
【42629】Re:並び替えの件で・・・ Ned 06/9/16(土) 23:10 発言
【42675】Re:並び替えの件で・・・ kouka 06/9/19(火) 10:14 お礼

39250 / 76738 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free