![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?a65a0e2)
VBAは本を入門書を読み始めたばかりの初心者です。
一つのフォルダ内にエクセルファイルとcsvファイルが混在(400くらいずつ)あります。このうちエクセルファイルのみ降順で並べ替えをしたいと思います。データの範囲はA1:I501で1行目は見出しでA列は日付が入っているのですが、日付が昇順で入っているため日付を基準にして降順にしたいです。全てのファイルにシートは一つしかありません。
マクロの記録で作成したところ
Sub 並べ替え降順()
'
' 並べ替え降順 Macro
'
'
Columns("A:A").ColumnWidth = 10.63 '先ずA列の幅を整える
Range("A1:I501").Select
ActiveWorkbook.Worksheets(1).Sort.SortFields.Clear
ActiveWorkbook.Worksheets(1).Sort.SortFields.Add Key:=Range("A1"), _
SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets(1).Sort
.SetRange Range("A2:I501")
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
こんな感じになったのですが、これをフォルダ内の全てのエクセルファイルにおなじ処理をするにはどうしたらよいのでしょうか?詳しい方いらっしゃいましたらどうぞよろしくお願いします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
エクセルVBAのことだとすると、マクロの記録が取れるのは、エクセルのシートの操作が中心。
フォルダやファイルを扱うような場面はエクセルのマクロの記録の取れる範囲ではない。
それも経験して無い・わかってない人が、質問の課題をするのは速すぎる。
内容的には、ソートなどの処理も必要で、有名とはいえ、ソートを自作するのは初心者には
大変。
(1)在るフォルダの中のファイル(名)を捕まえる方法(Dir関数やFSOを使う方法)
(3)ならシートにファイル名(ブック名)を書き出すコード
(2)エクセル・ファイルだけを選別するコード
(3)ファイル名のソート(シート上エクセルのソートを使って(VBAで)でやるか)
(4)並び順は具体的に判ったとして、フォルダ内の見てくれをその順序にする方法(コード)
必要性の中身について、場合によったら、(3)からそのファイル名で順にファイルを読みに行き、
オープンしてシートのセルの中身を見て、何か思っている処理をするとか。(4)を避ける。
OSがらみのファイルを表示する仕組みで並べ替えが出来たとしても、VBAでは扱える
ことにはならないので、考えを飛躍させないように。
ーー
作るとなると、色々勉強が必要だが、それ向きのフリーのソフトでもないか、一応探すとか。
ーー
Googleででも「ファイルの表示 順序」で照会し記事を読んで考えたら。色々前提知識が要る
ことがわかるだろう。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) マクロで最終行を取得してコピーしたい 3 2022/04/06 19:07
- Visual Basic(VBA) Excel_マクロ_現在開いているシートにマクロを実行したいです 1 2023/02/14 23:54
- Visual Basic(VBA) Excel VBAで並べ替えをしたい 3 2023/02/25 09:31
- Excel(エクセル) 複数のブックをひとつのブック(複数のシートにまとめる)場合にシートとの順番について 5 2022/12/28 20:47
- Visual Basic(VBA) エクセル VBA 処理スピードを上げたいのですが。 6 2023/03/31 20:52
- Excel(エクセル) 並べ替え、ソートの構文がわからない。 お世話になります。VBA超初心者です。 エクセルでワークシート 2 2023/06/28 21:00
- Visual Basic(VBA) 複数csvを横に追加していくマクロについて 2 2023/04/25 09:19
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- Visual Basic(VBA) vbaのエラー対応(実行時エラー7:メモリが不足しています) 4 2023/04/24 00:20
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・「これはヤバかったな」という遅刻エピソード
- ・初めて自分の家と他人の家が違う、と意識した時
- ・いちばん失敗した人決定戦
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルでファイルを閉じても...
-
ExcelファイルがDoxillionに突...
-
Windows11で画面下の帯の部分で...
-
共有しているEXCELシートのアク...
-
エクセルの添付ファイルに記入...
-
メモ帳で開く設定を元に戻したい。
-
EXCEL 関数かVBAでファイル作...
-
エクセルの塗りつぶしの色が勝...
-
エクセルのファイルを開くと部...
-
エクセルにクリックすると指定...
-
CSVの最終行は?
-
エクセルの中にエクセルを添付...
-
エクセルで1.5GBのファイルを開...
-
開くと警告の出るExcelファイル...
-
Google Todoリスト
-
エクセルVBAでアクセスファイル...
-
エクセルを閉じた時、ノッペラ...
-
CSVファイル
-
メモ帳(拡張子log)の数字デー...
-
CSVファイルでVBAを動かす方法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルでファイルを閉じても...
-
Windows11で画面下の帯の部分で...
-
エクセルで複数のブックで「元...
-
メモ帳で開く設定を元に戻したい。
-
Lotus 1-2-3のファイルをExcel...
-
共有しているEXCELシートのアク...
-
エクセルVBAでアクセスファイル...
-
エクセルを開いたときのシート
-
エクセルで1.5GBのファイルを開...
-
ExcelファイルがDoxillionに突...
-
エクセルの添付ファイルに記入...
-
CSVファイル
-
400KBのエクセルは重いの?
-
エクセルの塗りつぶしの色が勝...
-
開くと警告の出るExcelファイル...
-
エクセルファイルに勝手に数字...
-
メモ帳(拡張子log)の数字デー...
-
Google Todoリスト
-
エクセルの中にエクセルを添付...
-
CSVの最終行は?
おすすめ情報