• 締切済み

マクロでソートをかけるときにタイトル行を残したいのですが

Excel2002での作業です。 ある表があり、名前、数、でソートボタンをマクロで作りたいのです。 名前   数 ---------------- アライ  2 イド   5 スズキ  1 簡単にいうとこんな感じです。 ただ、最初の行をタイトル行として、ソートにはいれたくないのです。 しかも、最初の行は、ウィンドウズ枠固定で、固定したいです。 教えてください。 (以前に、このマクロボタンを作ったのですが、だれかが壊してしまい、ソートするとタイトル行がどこかに混ざってしまうようになってしまいました。この直し方でもいいので教えていただきたいです。)

みんなの回答

  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.1

>この直し方でもいいので教えていただきたいです。 マクロをちょっと覗いてみて下さい。 ソート範囲はマクロとシートで一致していますか? もしかしたら、誰かが見出し行の上に一行挿入するなどして、シートを変更している可能性もあります。 (ソート範囲が一致しない場合は、範囲かシートを修正して下さい。) sort に続くオプションに”Header:=”と言う項目があります。 この設定でヘッダーの処理方法の設定が可能です。 xlGuess は自動。 xlNo は、見出し無し。 xlYes は、ヘッダーあり。 http://www.happy2-island.com/excelsmile/smile03/capter00705.shtml

sacsac5
質問者

お礼

ありがとうございます! おっしゃる内容で、解決できました。 ヘッダーをちゃんと見てくれる設定があったのですね。。 自分が最初どうやってつくったか、わすれてしまったのですが、 他のページでうまく動いているところは「xlGuess」になっていたので、今後はこの「xlYes」を覚えられてよかったです。 本当にありがとうございました。 感謝です。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Excelのソート方法(タイトルと合計行の間)について

    支払予定を作成しております。 タイトル行と合計行の間のデータを日付順にソートしております。 (マクロにて) 行を挿入した場合、下記の場合範囲を固定している為全データを ソート出来ません。 データ範囲の指定方法を教え下さい。 よろしくお願い致します。 Sub 並べ替え2() Range("A3:D18").Select Selection.Sort Key1:=Range("A4"), Order1:=xlAscending, Header:=xlGuess, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _ :=xlPinYin, DataOption1:=xlSortNormal Range("A2").Select End Sub

  • EXCEL2000 複数行のソート方法について

    EXCEL2000 複数行のソート方法について教えて下さい。 EXCELのVBA(マクロ)にて、シート上の複数行をソートしたいと考えています。 エクセル上では、3つの行に対してソートができるのは知っています。 その操作をマクロに記録して、そのVBAを変更して5つの行に対して ソートを一括で行おうとしたのですが、エラーとなってしまいました。。。 以下が記録したVBAです =================================================================== Selection.Sort Key1:=Range("C15"), order1:=xlAscending, _ key2:=Range("G15"), order2:=xlAscending, key3:=Range("h15"), order3:=xlAscending, _ header:=xlGuess, ordercustom:=1, MatchCase:=False, Orientation:= _ xlTopToBottom, sortmethod:=xlPinYin =================================================================== このVBAを変更して3つ以上の行に対して一括でソートは出来るでしょうか? この方法ではやはり無理でしょうか? VBAを2つに分けてやる方法は最後の策だと考えています。 それ以前に2つに分けて出来るのか分からないのですが。。。 知恵をかして下さい。宜しくお願い致します。

  • Excelのマクロでマクロタイトルが削除できない

    Excel2002にてマクロを削除しようとしていますが、 マクロタイトルを削除しようとしたところ削除ボタンが表示されません。 VBEを開いても特に何も入っておらず途方にくれております。 どうすれば、マクロタイトルを削除できるのでしょうか? よろしくお願いします

  • Excelのマクロでソートがうまく動かない

    *** ソース *** Sheets("Sheet 1").Select Range("B2:H92").Select Selection.Sort Key1:=Range("C3"), Order1:=xlAscending, Key2:=Range("H3") _ , Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _ False, Orientation:=xlTopToBottom, SortMethod:=xlPinYin Range("B2").Select Sheets("Sheet 2").Select Range("B2:K49").Select Selection.Sort Key1:=Range("C3"), Order1:=xlAscending, Key2:=Range("I3") _ , Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _ False, Orientation:=xlTopToBottom, SortMethod:=xlPinYin Range("B2").Select ... 以下省略 ************* 上記のように複数のシートを一括してソートを行うようにマクロを組んでいます。 ですがマクロを実行するとタイトル行も含めてソートを行うなど、おかしな挙動になってしまいます。 ソートの条件としては「範囲の先頭行」を「タイトル行」で行わせたいのですが、「データ」でソートを行うシートが出てしまうのです。 太字にすると回避できるなど試したのですが、うまくいかなかったです。 Header:=xlYes にする事でも回避できるとあったのですが、変数を説明している一覧などが見つからなかった為、試していません。 よい方法をご存知の方がいましたら、ご教授下さい。

  • 【Excel】複数のタイトル行を設定する方法を教えてください

    Excel2002を使用しています。 タイトル行を複数設定する方法をご教示頂きたく、投稿させて頂いております。 数ページに渡って印刷する際に、行や列タイトルを設定すると各ページにタイトルを表示したまま印刷することが可能ですよね。 [ファイル]-[ページ設定]-[シート]タブ内の”印刷タイトル”で「行のタイトル」と「列のタイトル」を指定しています。 例えば、A1~Z100の表があるとします。 A~D列を固定し、1~5行目と50~100行目をタイトルとして固定したい場合はどのように設定すればよいのでしょうか。 複数行に渡って行を固定するには、マクロを組まなければならないのでしょうか。 今までマクロを組んだことがないのですが、精一杯努力致しますので、どなたか設定方法をご教示頂ければ幸いです。どうぞ宜しくお願い致します。

  • マクロで特定行を含まずコピーする方法を教えてください。

    マクロで特定行を含まずコピーする方法を教えてください。 社内で使っている1ヶ月分の売り上げを表にしていて、全てのセルに計算式が入っている為、とても重くなっています。ので、過去日付のところは、コピーして値で貼りつけたいと思っています。 名前  6/1  6/2  6/3  6/4  6/5・・・・ 田中(1)  数字・・・・ 田中(2)  数字・・・ 田中(3)  数字・・・ 田中(4)  数字・・・ 田中(5)  数字・・・ 田中(6)  数字・・・ 田中(7)  数字・・・ 合計   合計数 鈴木(1)  数字・・・ 鈴木(2)  数字・・・ 鈴木(3)  数字・・・ 鈴木(4)  数字・・・ 鈴木(5)  数字・・・ 鈴木(6)  数字・・・ 鈴木(7)  数字・・・ 鈴木合計  数字・・・   ・   ・   ・ (5000ほどの行があります) といったような表で、名前の(1)~(7)にも計算式が入っており、それをコピーして値で貼りつけをしたいのですが、合計欄は計算式を残したままコピーしたいのです。 どなたかお知恵をおねがいします。

  • Excel97で自動的に行挿入させるマクロのつくりかた。

    こんにちは。 マクロ超超初心者です。 WN98SE、Excel97です。 やりたいことは、たとえば、 B1に1001 B2に1001 B3に1002 B4に1003    ・    ・    ・ と入っていたとします。 ここで、1001から1002に変わる(又、1002から1003に変わる)とき、その間の行に3行空行を自動的に挿入させたいのですが、どういうマクロの記述をすればできるのでしょうか・・・。 それを新規ブックでもボタンひとつで実行させるにはどのような設定をしたらよいでしょうか。 どなたか教えてください。 よろしくおねがいします。

  • 多段ソート

    C言語というよりはアルゴリズムの話です。 [名前], [生年月日] の2つのカラムで表される固定長の行データが羅列されたファイルがあります。 また、各カラムを比較して行をソートした場合にどの行が何番目にくるかといったインデックス情報を木構造で保持したファイルがあります。 (このファイルは行データの追加・削除時に更新される) これらのファイルを利用して、生年月日でソートし、かつ日時が同じ場合は名前順にソートした場合の上から10個分だけのデータを取り出したいのですが、効率のよい方法は無いでしょうか? 全データを読み込んでから、バブルソート等の順序を崩さないソートを多重にかけることはなるべく避けたいのです。 そのためにソート済みのインデックス的な役割を持つファイルを用意しているのですが、多段ソート時にどう応用すればよいのかわからなくなってしまいました。 例 日時、名前の順にソートされた上4つ分のデータが欲しい。 【一覧】 [1行目] 10/20, Aさん [2行目] 11/30, Fさん [3行目] 9/10, Cさん [4行目] 11/30, Bさん [5行目] 12/10, Dさん 【生年月日でソートされた インデックス】 9/10, 3行目 10/20, 1行目 11/30, 2行目 11/30, 4行目 12/10, 5行目 【名前でソートされた インデックス】 Aさん, 1行目 Bさん, 4行目 Cさん, 3行目 Dさん, 5行目 Fさん, 2行目 得たい結果 [3行目] 9/10, Cさん [1行目] 10/20, Aさん [4行目] 11/30, Bさん [2行目] 11/30, Fさん

  • Excel2003 マクロで同じ文字列の行を消す

    Excel2007からは重複したデータを消すことは出来ますが、同じ文字列を全部消す(ひとつものこらず)方法が無いか悩んでいます。 例えば、A1に「1234」 A2に「4231」 A3に「1234」がある場合、A1とA3どちらも削除したいです。 このような事が自動で出来るマクロをどのようにすれば作れるでしょうか? 私が考えているのは、 1)A列をソート 2)一つ前の行と比較して同じならどちらの行も消す (同じデータは、2つ以上ないです) という具合なのですが、2の部分の書き方が分かりません。

  • Excel 2000でソートさせようとすると・・・

    何時も皆さんの明確な回答感心するばかりです。  質問ですが、Excel2000で住所録を作りました。同窓会用なので1つのブックに3枚のシートがあり、それを増やして6枚にして1組から6組までとしました。各シートの1列目に名前、〒、住所、電話、メルアド、てな感じで入力してその下に各人をどんどん入れていきました。ここまでは良かったんですが、各項目でソートをかけたところ2枚目(2組)だけはどんなにソートをかけても1列目はソートされないのに、他のシートは1列目まで一緒にソートされてしまいます。 色々本を見たり会社の得意そうな人に聞いたりしてみましたが、答えが返ってきません。自分なりにいじって見た所、データ→並べ替え、と見ると2枚目は範囲の先頭行がタイトル行に2枚目以外は範囲の先頭行がデータにチェックが入っています。これを換えてOKとするのですが保存されない様で又すぐもとに戻ってしまいます。(表現は正しいのかな?) おそらくこれが原因だと思うのですがどう直すのか、はたまた私がヘンなことしているのかよく解りません。どのシートも同じように造ったつもりなんですがどなたか、教えて下さい。ヘ(x_x;)ヘ

専門家に質問してみよう