エクセルVBAについて質問です。以前並び替えを行い、データの移動を行うプログラムを作成していただいたのですがエラーが発生しました。


エラー内容は

並び替え(列AH以降)がきちんと行われない です。

以下が前回の質問

http://q.hatena.ne.jp/1229390550

そして現在使用のプログラムになります。

http://oskuni7.sakura.ne.jp/hatena/question4/saisyupin.txt

前回私の説明が悪かったのですが、列AH以降にまだ列AI~CHのデータがあり、プログラムを行うとAH以降のデータがそのまま並び替えされずに残ってしまいます。

これを行ごと並び替えがされるようにしたいです。

AH以前のデータは0にあるデータを1に移動する。

AH以降のデータは1のデータをそのまま残すようにしたいです。

時間がある方で変更できる方おりましたらよろしくお願いいたします。

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2008/12/23 08:46:06
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:Koonies No.1

回答回数125ベストアンサー獲得回数8

ポイント50pt

ソースを拝見しました。

並び替えの範囲をしているのは


Range("A4:AG65535").Sort _


の部分になりますので、これを


Range("A4:CH65535").Sort _


とAG→CHを書き換えればご希望の結果が得られると思います。

いかがでしょうか?

id:aiomock

ご回答ありがとうございます。変更できました。

2008/12/23 08:45:41

その他の回答1件)

id:Koonies No.1

回答回数125ベストアンサー獲得回数8ここでベストアンサー

ポイント50pt

ソースを拝見しました。

並び替えの範囲をしているのは


Range("A4:AG65535").Sort _


の部分になりますので、これを


Range("A4:CH65535").Sort _


とAG→CHを書き換えればご希望の結果が得られると思います。

いかがでしょうか?

id:aiomock

ご回答ありがとうございます。変更できました。

2008/12/23 08:45:41
id:taknt No.2

回答回数13539ベストアンサー獲得回数1198

ポイント50pt

Range("A4:AG65535").Sort _

という行がありますが、これが ソートする範囲を指定しています。

AH以降も指定したいならば

Range("A4:IV65535").Sort _

とすればいいですが

A1からA3まで ソートしてもいいのではあれば

Range("A1:IV65535").Sort _

で行単位となります。

あと すみませんが、

>AH以前のデータは0にあるデータを1に移動する。

>AH以降のデータは1のデータをそのまま残すようにしたいです。

の意味がちょっとわからないのですが・・・。

id:aiomock

ご回答ありがとうございます。変更できました。

2008/12/23 08:45:48
  • id:Mook
    この程度でしたら、前回の質問でコメントいただければ良かったのに。

    Range("A4:AG65535").Sort
    がソート範囲ですので、これを
    Range("A4:CH65535").Sort
    にしたらダメですか?

    あっ、それから関数名の名前、間違えてすみませんでした。
  • id:aiomock
    Mookさん

    ご回答ありがとうございます。

    変更できました。

    ありがとうございます。

    関数名全然大丈夫です。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません