![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
見積書をエクセルで作ってあるのですがそれをお得意様別(200件くらい)のフォルダーに保管しています。
これらを全てオープンにして日付別に並び替えたいのですが何かいい方法はないでしょうか?過去の分はそのままで新しいやり方でもOKです。
ちなみに今はお得意様別に保管してから再度「全ての見積書」のフォルダーに保管しています。
これでも大した手間ではないのですが訂正があった時にそれぞれを直さなくてはいけないのです。
やり方がちょと原始的ですからもう少しスマートに管理する方法はないでしょうか?
宜しくお願い致します。
No.6ベストアンサー
- 回答日時:
またまた登場、onlyromです。
最後の方にコードが書いてありますのでそれをエクセルのVBEにコピペします。
【前提条件】
フォルダーの階層は次のようになってるものとする
__C:¥・・・¥見積書(フォルダー)
___________¥三菱商事(フォルダー)
___________¥トヨタ自(フォルダー)
___________¥シャープ(フォルダー)
【プログラムコピペ方法】
(1)エクセルを立ち上げる
(2)「ツール」メニュー > 「マクロ」 > 「Visual Basic Editor」をクリック
これでVisual Basic Editorの画面になる(以下VBEと呼ぶ)
(3)VBEの「挿入」メニュー > 「標準モジュール」をクリック
これでプログラムを書くための白いコードウィンドウが表示される
(4)そこに、提示したプログラムをコピペする
(5)VBEの画面を閉じる(×ボタン)
■ここでエクセル画面に戻るので以下のことをする
(1)「ツール」メニュー > 「マクロ」 > 「セキュリティー」をクリック
これでセキュリティウィンドウが表示されるので
セキュリティレベルを「中」にしてウィンドウを閉じる
(2)このエクセルブックを「見積一覧.xls」など適当な名前で保存する
●保存場所が重要になります!!
●保存場所は、見積書フォルダー
階層は以下のようになります。
__C:¥・・・¥見積書(フォルダー)
___________¥見積一覧.xls ■このブック■
___________¥三菱商事(フォルダー)
___________¥トヨタ自(フォルダー)
___________¥シャープ(フォルダー)
以下がプログラムですのでこれをコピペ。
'------------------------------------------------
Dim fsoObj
Dim myFolder
Sub Auto_Open()
Dim Msg As Integer
Sheets(1).Select
Range("E1").Select
Msg = MsgBox("見積一覧を作成しますか?", vbYesNo, "確認")
If Msg = vbYes Then
Call MitumoriIchiran
MsgBox "一覧作成終了", vbOKOnly, "終了"
End If
End Sub
Sub MitumoriIchiran()
Cells.Clear
myFolder = ThisWorkbook.Path
Set fsoObj = CreateObject("Scripting.FileSystemObject")
Call FileList(myFolder)
With Range("A1:D1")
.Value = Array("得意先名", "見積ブック名", "作成日", "更新日")
.EntireColumn.AutoFit
.HorizontalAlignment = xlCenter
.Interior.ColorIndex = 6
.EntireColumn.NumberFormatLocal = "yyyy/mm/dd hh:mm"
End With
With Range("A1").CurrentRegion.Borders
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
End Sub
Sub FileList(myFolder)
Dim fsoFolder
Dim fsoSubFolder
Dim fsoFile
Dim R As Long
Set fsoFolder = fsoObj.GetFolder(myFolder)
For Each fsoFile In fsoFolder.Files
If fsoFolder <> ThisWorkbook.Path Then
R = Cells(Rows.Count, "A").End(xlUp).Row + 1
Cells(R, "A").Value = Right(fsoFolder, InStr(StrReverse(fsoFolder), "\") - 1)
Cells(R, "B").Value = Replace(fsoFile, fsoFolder & "\", "")
Cells(R, "C").Value = fsoFile.datecreated
Cells(R, "D").Value = fsoFile.DateLastModified
ActiveSheet.Hyperlinks.Add Cells(R, "B"), fsoFile
End If
Next
For Each fsoSubFolder In fsoFolder.SubFolders
Call FileList(fsoSubFolder)
Next
End Sub
'------------------------------------------------
【実行方法】
このブックをダブルクリック等で立ち上げると
見積一覧を作成するかどうかのメッセージが出るので
作成するときは、Yes, しないときは、No をクリックするだけです。
また作成が終了すると、終了メッセージが表示されます。
なお、これはちゃんとテスト済みですので上手くいかない場合は質問者のやり方がおかしいことになります。(^^;;;
不明な点がありましたら遠慮なく質問願います。
以上。
こんにちは、お忙しい中お手数をお掛けしました。
お蔭様でまさしく求めていたものが出来ました。ありがとう御座いました。
昔ロータス123を少し使っておりましたがそれからエクセルに取って変わって確かにいいなとは思っていましたがまだ「コンピュータはこんなもんじゃないな」と少し不満でした。
でも今回その不満が満足されました。ここまでくるとパソコンを使っている実感が出ます。凄い!!
マクロ勉強しなきゃいけませんね。大変参考になりました。ありがとうございました。
No.5
- 回答日時:
再度の登場、onlyromです。
>どこまで理解できるかどうか分かりませんが勉強してみたいと思います。
何事につけ向学心というのは大切なことです。
一発必中で動作するようにしたいと思いますので以下の補足を願います。
(1)実際のフォルダー名のフルパスは?
このフォルダー名とは、各得意先フォルダーのある親フォルダーのことです。
例えば、次のようなフルパスだと
C:\Documents and Settings\Onlyrom\My Documents\見積書
この「見積書」フォルダーの中に、各得意先フォルダーがあることになります。
(2)Excelのバージョンは? xl2000-xl2003? xl2007?
(3)コードを提示した場合それをあるところにコピペするわけですが
その方法、またその実行方法は分かりますか?
以上。
お世話になります。
(1)>この「見積書」フォルダーの中に、各得意先フォルダーがあることになります・・・・・その通りです。
(2)xl2003 これです。
(3)コードを提示した場合・・・・・・そもそもこれが分かりませんでしたのでその後がチンプンカンプンでした。
「コードを提示 エクセル」で調べてみましたらBASICのようなものが出てきましたがこれでしょうか?BASICでしたら多少は分かりますが「あるところにコピペする」は分かりませんでした。
こんなんで大丈夫でしょうか?
No.4
- 回答日時:
●方法1●
一番簡単なのは、各得意先フォルダーは使用せずに
「全見積」フォルダーのみ使用する方法だと思います。
作成した見積ブックは「全見積」フォルダーに保存する
見積ブック名は、その前に【得意先名】を付加する
こうすると、
「全見積」フォルダーを開いて得意先別でも作成日別でも
どちらでもソート可能ですよね
●方法2●
別の方法としては既出の回答にもありますようにエクセルを利用する方法。
エクセルに全ての見積ブック「得意先名、見積ブック名、作成日、更新日」の一覧を作成し
この一覧から見積ブックを開けるようにハイパーリンクをセットします。
この方法では「全見積フォルダー」は使用しないで、各得意先フォルダーのみ使用する
■方法1では既に作成された見積ブックの前に、得意先名を付加するための
簡単なプログラムの実行が必要(1回限りの実行)
(もちろんそれを手動でやるなら別ですが)
■方法2では、全見積ブックを見たいときだけ実行するプログラムが必要
(新規、修正がなければ実行の必要はなし)
ご希望があれば簡単なサンプルコードをアップしますが。。。
以上。
>得意先別でも作成日別でもどちらでもソート可能ですよね.....
どうやってやるのかな?と思って適当にいじってましたら出来ました。これは簡単で良いですね。ありがとうございました。
でもスマートさから言えば「方法2」ですね。
>ご希望があれば簡単なサンプルコードをアップしますが。。。・・・どこまで理解できるかどうか分かりませんがお願いできますか。勉強してみたいと思います。
No.3
- 回答日時:
No.2です。
> 日付別だけではなくお得意様別でも分類できるようにしたいのですが何かいいお知恵はないでしょうか?
フォルダでは、2段階の並べ替えができませんので、
Excelを使って、日付、得意先名およびファイル名をリストアップし、ファイルへのハイパーリンクを設定するくらいしか考え付きません。(ファイルの目次のようなものです。)
この場合、どのくらいの件数のリンクを設定することができるか分かりませんので、リンクが機能しなくなった場合にも対処しやすいように、ファイルは現状のまま得意先別のフォルダに収納しておいた方がよいと思います。
なお、ファイル名をリストアップする際には、下記URLのようなことができるようですのでご参照ください。
(残念ながら私は、マクロのことは皆目分かりません。)
「デスクトップ上にあるフォルダ内のファイルを選択して開くマクロ」
http://oshiete1.goo.ne.jp/qa2814657.html
「Excel VBAでのファイル名取得方法」
http://oshiete1.goo.ne.jp/qa3254716.html
再びありがとうございます。
私もマクロのことはあまりよく分かりませんが「FileSearch」これは面白そうですね。調べてみます。
お忙しい中色々とご足労をお掛けしました。ありがとうございました。
No.2
- 回答日時:
一番普通に行われている方法は、ファイルの名前を付けるとき、090111***のように先頭に6桁の日付を付けます。
既に作成済みのファイルを含めて、日付順に並び替えるには、そのフォルダを開いて、メニューバーの「表示」→「詳細表示の設定」で、「作成日時」にチェックを入れます。
「表示」→「詳細」をクリックにしますと「作成日時」が表示されますので、「作成日時」をクリックすると作成日時が「昇順」または「降順」で並べ替えされます。
再度、「作成表示」をクリックすると「昇順」が「降順」に並べ替えされます。
お試しください。
ご意見ありがとうございます。
6桁の日付+スペース+3桁のお得意様番号の計10桁にしてファイルに名前を付けそれらを1つのフォルダーに何でもかんでも保管する。
日付で分類の時は先頭の6桁で並び替えお得意様別で分類する時は後半の3桁で並び替えをしようと思ったのですがこれが出来ませんでした。
日付別だけではなくお得意様別でも分類できるようにしたいのですが何かいいお知恵はないでしょうか?
宜しくお願い致します。
No.1
- 回答日時:
200個あるフォルダーの中に保管されているファイルの並び替えですのでご指摘の方法がどのように応用できるのか検討してみます。ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 分譲マンション マンション大規模修繕工事の資金不足 神奈川県の築37年総戸数36戸のマンションの管理組合理事長を今年 7 2022/09/03 19:55
- 会計ソフト・業務用ソフト 事業内容に適した、見積・請求書・顧客管理ソフト、システムを探しています。 2 2022/11/11 13:28
- 分譲マンション マンションの補修工事の施工業者の工事の見積書の工事額は→①自社の作業員による,自社内で完全直接施工方 3 2022/09/12 23:31
- その他(職業・資格) 転職先の会社から「お持ちの資格の原本は在籍中は会社で保管するのですべて持って来てください」と言われま 6 2022/09/14 04:08
- 建設業・製造業 改正電子帳簿保存法では見積書はどの範囲まで保存すればいいのでしょうか? 1 2023/06/21 14:26
- 賃貸マンション・賃貸アパート 賃貸物件の床の破損について。 収納に使っていた板が落下し、フローリングが2センチほど破損しました。 2 2022/10/06 16:59
- 分譲マンション マンション管理業務の不履行・責任回避の大手ブランドという巨人と一住民の関係性 5 2022/06/20 12:21
- 分譲マンション 管理組合役員の辞任と受領書について 1 2022/11/25 12:39
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/07/02 11:48
- Excel(エクセル) 介護保険の認定調査員を効率的に割り振る為には。 1 2023/05/11 10:50
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAで保存しないで閉じると空の...
-
【Excel VBA】マクロでExcel自...
-
excelで直前に参照していたブッ...
-
【マクロ】マクロが保存されて...
-
エクセル関数>参照ファイル名...
-
ファイルごとにセルの移動方向...
-
excel VBA シート保存について...
-
エクセル;相対パスを絶対パスへ...
-
マクロ 自動でパスワード及び指...
-
【Excel】マクロの保存先について
-
VBA ユーザーフォームとVISIBL...
-
マクロの保存先、開いてるすべ...
-
ExcelVBAで困っています。
-
EXcelのマクロで相対パスでファ...
-
エクセルで作った見積書をお得...
-
複数のExcelファイルの印刷設定...
-
EXCEL VBA セルから...
-
Excelで貸部屋予約システムの構築
-
WPSOffice_マクロの有効化について
-
エクセル ボタンに設定したマク...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAで保存しないで閉じると空の...
-
エクセル関数>参照ファイル名...
-
【Excel VBA】マクロでExcel自...
-
マクロの保存先、開いてるすべ...
-
エクセル;相対パスを絶対パスへ...
-
【Excel】マクロの保存先について
-
excelで直前に参照していたブッ...
-
EXcelのマクロで相対パスでファ...
-
複数のExcelファイルの印刷設定...
-
エクセルVBAで作成した別ブック...
-
エクセルのvbaにて thisworkboo...
-
[フィルターオプションの設定]...
-
個人用マクロブックが消えました
-
エクセルVBA 個人用マクロブッ...
-
EXCELブックが勝手に開いて困っ...
-
【Excel】特定セルの内容をテキ...
-
エクセルで未保存に対するメッ...
-
ファイル名変更後も、マクロを...
-
EXCELのボタンによるマクロの登...
-
名前の変わるブックをアクティ...
おすすめ情報