• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excel2010 VBA sortについて)

Excel2010 VBA Sortでデータの並び替え方法を知りたい

このQ&Aのポイント
  • Excel2010 VBAを使用して、化学データからスペクトルを生成するプログラムを作成しています。データを1行のデータ順に並べ替えた後、2行のデータ順に並べ替えたいのですが、Sort機能を使用するとエラーが発生します。SortSpecial機能を使用しても思った通りに整列されません。Excelの整列機能を使用すればできますが、VBAを使用して行データを基準に列を並べ替えることはできるのでしょうか?質問の回答をお待ちしています。
  • Excel2010 VBAを使用して、化学データからスペクトルを生成するプログラムを作成中です。データを1行のデータ順に並べ替えた後に、2行のデータ順に並べ替えたいのですが、Sort機能を使用するとエラーが発生します。SortSpecial機能を使用しても思った通りに整列されません。Excelの整列機能を使用するとできますが、VBAを使用して行データを基準に列を並べ替えることはできるのでしょうか?解決策を教えてください。
  • Excel2010 VBAを使って化学データからスペクトルを生成するプログラムを作成しています。データを1行のデータ順に並べ替えた後、2行のデータ順に並べ替えたいのですが、Sort機能を使用するとエラーが発生します。SortSpecial機能を使用しても思った通りに整列されません。Excelの整列機能を使用すればできますが、VBAを使用して行データを基準に列を並べ替えることはできるのでしょうか?アドバイスをお願いします。

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

  • ベストアンサー
  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.2

Excel2010はまだ見たことがないのですが、VBAの書き方がかわったのでしょうか? 少なくとも、2000では以下のように書きます。 ( =ではなく、:=  区切りはカンマで。途中改行は、半角スペース+_ ) もちろん列を並べ替えられます。 ただし、その場合は行の並べ替えとは違い、タイトル(Header)の指定は無視されるので、最初から並べ替え範囲にはタイトル部分を入れません。 Sub test02()   Sheets("Rawdata").Activate   Columns("B:BE").Sort Key1:=Range("B7"), Order1:=xlAscending, _   Key2:=Range("B10"), Order2:=xlAscending, Orientation:=xlLeftToRight End Sub

sa-na-swimmer
質問者

お礼

ご回答ありがとうございます。 コピーしてみたところ思い通りに動きました。 私も初めに:=でやっていたのですが、そのときは修正候補=と出てきたので、そちらでやっていました。 これで研究が進みそうです。 本当にありがとうございました。 追伸:実は現在ドイツの大学に留学中で手元にVBAに関する資料が全くなくて苦労していました。

その他の回答 (1)

  • xls88
  • ベストアンサー率56% (669/1189)
回答No.1

Columns("A:BE").Sort を Range("A7:BE15").Sort というようにすればどうなるでしょうか。

sa-na-swimmer
質問者

お礼

ご回答ありがとうございます。 さっそく試してみたものの、やはり同じエラーメッセージが出てきました。 RangeメソッドやCellメソッドの使い方は難しいです。

関連するQ&A

専門家に質問してみよう