No.3ベストアンサー
- 回答日時:
ツール → マクロ → 新しいマクロの登録 → (マクロ名の登録) → OK
としたのち、いつもの操作(この場合、並び替え)
を行います。
最後に、記録終了を行うことで、マクロの記述が終了します。
ただ、「3通りくらいの設定」というようなものを、判断するには、プログラミングの知識が必要になりそうです。
また、並び替えの範囲が変化するときにも、プログラムに変更を行う必要が発生するでしょう。
3通り → if ~ then ~ や select case などによる場合分け
セル範囲の変更 → end(xlup) や offset のほか、CurrentRegion など ?
この回答へのお礼
お礼日時:2006/07/16 17:05
有り難うございました。
無事登録でき、実行出来ました。
但し、セキュリーティレベルを低にしなければ成りませんでした。AWソフトはNOETON2005を入れてますが、問題ないでしょうか?
No.7
- 回答日時:
短いコードで下記はどうですか。
標準モジュールに下記を貼り付け(デモ実行用)
Sub test03()
Dim r As Range
Set r = Application.InputBox("範囲=", Type:=8)
s = InputBox("ソートタイプ=")
Select Case s
Case "A"
r.Sort Key1:=Range("A3"), Order1:=xlAscending, Header:=xlGuess
Case "B"
r.Sort Key1:=Range("B3"), Order1:=xlAscending, _
Key2:=Range("A3"), Order2:=xlDescending, Header:=xlGuess
Case "C"
r.Sort Key1:=Range("A3"), Order1:=xlDescending, Header:=xlGuess
End Select
End Sub
実行すると、見出しを含めてソート範囲を聞いてきます。マウスで範囲指定してOKをクリック。
ソートタイプ=と聞いてきますので、上記で用意したのは、3種ということで、A,B,Cのどれかを入力しOKをクリック。(数字コートや漢字文字列にすることも、上記コードを少し変えれば可能です。)
それでソートは終わります。項目見出しは範囲指定の第1行目に有るとします。
ーーー
タイプ A,B,Cの自分のニーズにあわせた改造方
上記コードの各タイプの記述で
ソートキーで
第1キー
Key1:=
Order1:=
第2キー
Key2:=
Order2:=
第3キー
Key3:=
Order3:=
のうち必要なものを書き込みます。
Key1だけ、Key1とKet2、Key1とKey2とKey3
の3種しかありません。Key1グループと、Key2、Key3のグループは、カンマでつないで書きます。
KeyについてはRange()のカッコ内に列記号と1を書き込む。列記号だけが大事で行番号はどうでも良いよう。
Orderは昇順xlAscending、降順xlDescendingのどちらかを指定します。
続けるときの _(継続記号)の要不要や、カンマの要不要について
注意してください。
行き詰まったら、そのソート方法を操作して、マクロの記録をとって
コードの書き方のヒントを得てください。類推して修正は易しいと思います。
No.5
- 回答日時:
>セキュリーティレベルを低にしなければ成りませんでした
個人的には、セキュリティレベルを「中」にしています。
こうすると、ファイルを開いたときに、「マクロを含みます。マクロを有効にしますか」と聞いてきて、「Yes,No」が選べます。
セキュリティレベル「中」を、個人的にはお勧めします。
Wendy02さんの回答は、並び替えの規則(例えば、甲、乙、丙…)を登録できるということをおっしゃっています。
ご質問の内容として、Wendy02さんの回答のようにも解釈できますので、質問の意味を取り間違えたかと、正直、焦っております。 ^^;;)
No.4
- 回答日時:
予め、データがあれば、セルの範囲を選択しておいて、メニュー-ツール-オプション-ユーザー設定リストで、インポートするか、リストの項目に直接書き入れるかして、順序を登録します。
並べ替えの時に、データ-並べ替え-オプションで、「並べ替えの順序を指定」で、選択すれば、思ったように並べ替えをしてくれるはずです。
マクロの話が出ていますが、はじめから並べ替えのコードを作るとなると、一旦、ユーザーが設定した並びを配列変数に入れて、それを、クイックソート・アルゴリズムなどで、その内容と比較していくようなものになるような気がします。かなり複雑なコードではないでしょうか?
ちなみに、Version のせいなのかもしれませんが、上記の「並べ替えの順序指定」の記録マクロを取っても、なぜか、うまくいかなかった覚えがあります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルの並び替えについて 5 2022/07/11 00:49
- その他(Microsoft Office) ワードのマクロについて教えてください。 1 2023/01/22 11:43
- Excel(エクセル) 【エクセル】並び替えからの並び替え方法 7 2022/07/22 09:46
- Excel(エクセル) 重複データの抽出について 2 2023/07/21 14:52
- その他(Microsoft Office) エクセルで串刺ししたシートの並べ替えをしたいです 4 2023/02/14 11:59
- その他(ブラウザ) cvsファイルをダウンロードすると、自動で拡張子がExcelのものになる 5 2022/07/20 21:21
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/01/11 11:47
- Excel(エクセル) Excel ドロップダウンリスト(入力規則)に関してです データの入力規則で元データ79000行のド 3 2023/07/17 10:06
- Excel(エクセル) エクセルについて 6 2022/11/29 14:07
- Excel(エクセル) Excelで作成しているシート(表) 5 2023/06/15 10:20
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで特定の列が0表示の場...
-
Excel マクロ VBA プロシー...
-
Excel・Word リサーチ機能を無...
-
ExcelのVBA。public変数の値が...
-
特定のPCだけ動作しないVBAマク...
-
メッセージボックスのOKボタ...
-
一つのTeratermのマクロで複数...
-
エクセルで別のセルにあるふり...
-
サクラエディタ・マクロ → VSCo...
-
ExcelVBAでPDFを閉じるソース
-
Excel VBAからAccessマクロを実...
-
EXCELのVBAでRange("A1:C4")を...
-
エクセルに張り付けた写真のフ...
-
エクセルのマクロについて教え...
-
ユーザーフォームを起動しなが...
-
エクセルのマクロについて教え...
-
VBA アドインについて お詳しい...
-
VBA初心者 Ctrl+での操作、ボタ...
-
特定文字のある行の前に空白行...
-
2つのマクロでチェックボックス...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel・Word リサーチ機能を無...
-
特定のPCだけ動作しないVBAマク...
-
エクセルで特定の列が0表示の場...
-
Excel マクロ VBA プロシー...
-
メッセージボックスのOKボタ...
-
一つのTeratermのマクロで複数...
-
エクセルで別のセルにあるふり...
-
ExcelのVBA。public変数の値が...
-
エクセルに張り付けた写真のフ...
-
ExcelVBAでPDFを閉じるソース
-
EXCELのVBAでRange("A1:C4")を...
-
Excel VBAからAccessマクロを実...
-
TERA TERMを隠す方法
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
マクロ実行時、ユーザーフォー...
-
Excelのマクロについて教えてく...
-
ソース内の行末に\\
おすすめ情報