- ベストアンサー
エクセルマクロのソート方法についての質問
- エクセルマクロのソート方法についての質問です。プロシャージャを使ってソートする際に、範囲や並び替えキーを変更することは可能でしょうか?具体的なコードの例も示しています。
- エクセルマクロのソート方法についての質問です。プロシャージャを使ってソートする際に、範囲や並び替えキーを変更する方法についてアドバイスを頂きたいです。
- エクセルマクロのソートに関する質問です。プロシャージャを使用してソートする際に、範囲や並び替えキーを変えることは可能でしょうか?具体的なコードも記載しています。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
Stringは文字列なのでRangeを使います。 Dim key As String Dim hanni As String key = Range("a1") hanni = Range("A1:c10000") ↓ Dim key As Range Dim hani As Range Set key = Range("A1") Set hani = Range("A1:C10000")
その他の回答 (3)
- layy
- ベストアンサー率23% (292/1222)
高速なSORTコマンドを使うのが普通のようだが、状況変わると使えない、と思ってしまうのかな?。 参考に ソート自身はアルゴリズム定番でプログラム化していた話です。1番目と2番目比べてどう?、1番目と3番目比べてどう?、という感じで。メインの動きは20行いかないくらい。 SORTコマンドの使い方覚えるより遥かに役に立つ。 これがあればシートの並べ替えとか順番付けも出来るようになる。 『VBA 並べ替え アルゴリズム』で検索。
お礼
こんな方法もあったんですね! とても勉強になります! ありがとうございます^^
- imogasi
- ベストアンサー率27% (4737/17069)
使いまわす、とはユーザーにその都度指定させるということでしょう。 ずばり僧書いて質問したら。質問のコードなど参考にならない。マクロの記録で出てくる程度のことで、回答するほどの人は 知っていることだろう。 其れで質問表題が不適当。 Acendingを仮定するなら、 列のデータ最終行は Sub test01() d = Cells(65536, "A").End(xlUp).Row MsgBox d End Sub で分かるから、列指定をさせれば仕舞いでは。 例えばInputboxで。 または決めたセルに入力させるとか。 ーー またはApplication.InputBoxで範囲を指定させる方法もあると思う。WEBで照会すること。
- しんちゃん(@Cindy0112)
- ベストアンサー率38% (13/34)
public sub Sort( argKey as string, argScope as string) ここに そーとのプログラム end sub
お礼
なるほど! こんなやり方があるんですね^^ 助かりました^^
お礼
ありがとうございます^^ 基本がまだまだわかっていないのでとても助かりました^^ ありがとうございます^^