• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルマクロのソートについて)

エクセルマクロのソート方法についての質問

このQ&Aのポイント
  • エクセルマクロのソート方法についての質問です。プロシャージャを使ってソートする際に、範囲や並び替えキーを変更することは可能でしょうか?具体的なコードの例も示しています。
  • エクセルマクロのソート方法についての質問です。プロシャージャを使ってソートする際に、範囲や並び替えキーを変更する方法についてアドバイスを頂きたいです。
  • エクセルマクロのソートに関する質問です。プロシャージャを使用してソートする際に、範囲や並び替えキーを変えることは可能でしょうか?具体的なコードも記載しています。

質問者が選んだベストアンサー

  • ベストアンサー
  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.1

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")

osarusan0214
質問者

お礼

ありがとうございます^^ 基本がまだまだわかっていないのでとても助かりました^^ ありがとうございます^^

その他の回答 (3)

  • layy
  • ベストアンサー率23% (292/1222)
回答No.4

高速なSORTコマンドを使うのが普通のようだが、状況変わると使えない、と思ってしまうのかな?。 参考に ソート自身はアルゴリズム定番でプログラム化していた話です。1番目と2番目比べてどう?、1番目と3番目比べてどう?、という感じで。メインの動きは20行いかないくらい。 SORTコマンドの使い方覚えるより遥かに役に立つ。 これがあればシートの並べ替えとか順番付けも出来るようになる。 『VBA 並べ替え アルゴリズム』で検索。

osarusan0214
質問者

お礼

こんな方法もあったんですね! とても勉強になります! ありがとうございます^^

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

使いまわす、とはユーザーにその都度指定させるということでしょう。 ずばり僧書いて質問したら。質問のコードなど参考にならない。マクロの記録で出てくる程度のことで、回答するほどの人は 知っていることだろう。 其れで質問表題が不適当。 Acendingを仮定するなら、 列のデータ最終行は Sub test01() d = Cells(65536, "A").End(xlUp).Row MsgBox d End Sub で分かるから、列指定をさせれば仕舞いでは。 例えばInputboxで。 または決めたセルに入力させるとか。 ーー またはApplication.InputBoxで範囲を指定させる方法もあると思う。WEBで照会すること。

回答No.2

public sub Sort( argKey as string, argScope as string) ここに そーとのプログラム end sub

osarusan0214
質問者

お礼

なるほど! こんなやり方があるんですね^^ 助かりました^^

関連するQ&A

専門家に質問してみよう