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

VBA 列の並べ替えについて

このQ&Aのポイント
  • VBAを使用して、指定範囲のセルを並べ替える方法について説明します。
  • 具体的には、セルA2からO10を選択し、D列をキーとして昇順に並べ替え、それを印刷します。
  • また、並べ替える前の状態に戻す方法についても解説します。

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

  • ベストアンサー
  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.1

>(2)で並べ替えする前の状態にする ためには、並べ替えしなおすキーが必要ですね。でも質問には「そのキーがあるかどうか」について触れられていませんので単純には回答できかねます。 もし「一旦シートを作業用シートにコピー」→「並べ替え」→「印刷」→「作業用シート削除」というロジックにして良いのなら以下のマクロで可能です。 Sub test() On Error GoTo end0 ActiveSheet.Copy before:=ActiveSheet 'シートをコピー Range("A2:O10").Select 'コピーしたシートがアクティブです Selection.Sort Key1:=Range("D2"), Order1:=xlAscending Selection.PrintOut Copies:=1, Collate:=True Application.DisplayAlerts = False '削除の警告メッセージ出力停止 ActiveSheet.Delete end0: Application.DisplayAlerts = True '警告メッセージ復活 End Sub

taka1012
質問者

お礼

早速のご回答ありがとうございます。 教えていただいたコードでうまくいきますが、マクロを実行すると「プロアクティブディフェンス警告」というメッセージが表示されます。 これを表示させない方法はありますか? よろしくお願いします。

その他の回答 (1)

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.2

#01です プロアクティブディフェンス警告はウィルススキャンソフトが出しているのではありませんか? EXCELではないと思いますよ。 ウィルススキャンソフトの設定が分かりませんので、設定を確認してください。プロアクティブディフェンスのレベル設定が可能であれば、変更されるのが「警告メッセージを出さなくする」方策だと思います。

taka1012
質問者

お礼

ご回答ありがとうございました。 現在、ウィルスソフトはカスペルスキーの試用版を使っています。 マクロウィルス対策としては、プロアクティブディフェンスは有効にしておいた方がよいのでしょうか?

関連するQ&A

専門家に質問してみよう