現在Excel2010VBAを使って、化学のデータからスペクトルを出すようなプログラムを考えております。
データは以下のような形です。
温度 1500 1500 1500 1400 1400 1400
時間 5 10 20 5 10 20
電流 1 3 7 11 12 13
このようなデータをまず、1行のデータの順番に並べてから、2行のデータ順に並べ替えたいと思っています。
しかし、Sortを用いたところ、実行時エラー1004RangeクラスのSortエラーが検出されてしまいます。
そこで、SortSpecialにすると、このエラーは検出されず、マクロは回るものの思った通りに整列されません。
Sheets("Rawdata").Activate
Columns("A:BE").Sort
Key1 = Range("A7")
Order1 = xlAscending
Key2 = Range("A10")
Order2 = xlAscending
Header = xlGuess
Orientation = xlLeftToRight
Excelの整列を使えばできてしまうことなのですが、VBAを用いてはできないのでしょうか?
ExcelVBAを用いて、「行のデータ」基準にして「列を並べ替える」ことは可能なのでしょうか?
どなたかご教授ください。
よろしくお願いいたします。
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
ご回答ありがとうございます。
コピーしてみたところ思い通りに動きました。
私も初めに:=でやっていたのですが、そのときは修正候補=と出てきたので、そちらでやっていました。
これで研究が進みそうです。
本当にありがとうございました。
追伸:実は現在ドイツの大学に留学中で手元にVBAに関する資料が全くなくて苦労していました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) vba 等間隔の列に対しての計算 6 2022/05/17 20:15
- Excel(エクセル) 関数EXACT(文字列,文字列)とexcelVBA 3 2022/04/14 15:07
- Visual Basic(VBA) VBAコードを張り付け後のエクセルの進め方 2 2023/02/07 18:24
- Visual Basic(VBA) VBA横データを縦にしたいです 2 2023/08/08 19:38
- Visual Basic(VBA) 【VBA】Excelの特定範囲のセルを画像で保存したい 2 2023/01/25 13:06
- Visual Basic(VBA) Excelで横書き50行の漢字テストデータを縦書きのテスト問題にしたい。 6 2022/04/27 15:03
- Excel(エクセル) excel vbaの配列なんですが・・・ 1 2022/12/26 18:50
- Visual Basic(VBA) Excel VBAで並べ替えをしたい 3 2023/02/25 09:31
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2023/02/26 13:19
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
教えて下さい
-
配列でデータが入っている要素...
-
VBA 空白セルを削除ではない方...
-
【エクセル】測定時間がバラバ...
-
メモ帳(テキストデータ)をExc...
-
多量のSUMIF式を軽くしたい
-
ActiveReportについて
-
データ取得時のエラーに関して
-
この行は既に別のテーブルに属...
-
VBAで「"」[']をエスケープする...
-
VisualBasicでデータ検索プログ...
-
CString型の文字列連結について
-
ACCESSからEXCELに出力する際、...
-
VB6のListの使い方
-
EXCELVBAでSQLserverからデータ...
-
エクセル マクロの組み方について
-
ポケコン PC-E650 の...
-
COBOL数値転記をCOPY句内での仕様
-
LoadPictureしたイメージデータ...
-
Web画面を遷移してもデータを保...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
教えて下さい
-
配列でデータが入っている要素...
-
【エクセル】測定時間がバラバ...
-
メモ帳(テキストデータ)をExc...
-
VBA 空白セルを削除ではない方...
-
多量のSUMIF式を軽くしたい
-
この行は既に別のテーブルに属...
-
S9タイプからXタイプにデータ...
-
Excelのマクロでワードのテキス...
-
エクセルで2つの時系列のデー...
-
Accessで該当データにフラグを...
-
ユーザーフォームのテキストボ...
-
シーケンサにパソコンからアク...
-
EXCELVBAでSQLserverからデータ...
-
[C言語] コメント文字列を無視...
-
VBAを使ってOutlookメール本文...
-
プログラミング python pandas ...
-
VBA 毎日取得するデータを順番...
-
<VB>String→Object
-
カンマからスラッシュに
おすすめ情報