日々、訳のわからない指示を出されて、辟易としています。別に雑務が苦な訳ではありません。指示の仕方の下手さなどなどに、同僚全員が一様にヤル気をなくしていっている職場なのです。
指示が曖昧すぎて動けない。
先日、資料の保存について指示を受けました。 「関係書類を適切なフォルダに保管しておくこと」と。指示の曖昧さは、そのメールからすでに始まっていました。まず、メールの宛先が複数にも関わらず(CCには入れず、全員を宛先に入れいている状態)、メール本文でも明示なし。前述のような指示だけが書かれたメールを受信しました。
曖昧すぎる指示に、「これはこれまでも発生していたタスクで、きっと他の人にはおこの指示でわかるのだろう」と、担当ではないとしばらく放置。
しかし、宛先に入っていた人誰一人として返信しない。
あれれ?と思って、別件のついでに進捗をと裏で聞いてみたところ、「何言ってるのか分からなくて放置してる」との返答。
・・・。
あー、うん、この会社、どうやって人育ててるんだろう。昇格させるときに超基本の研修実施してあげてほしい。
(数ヶ月働いてみると、「指示内容を上司に確認する」が正解ではないことに気づきます。聞かないよりもずっっっっと面倒くさいことになります。そして、ジワジワと勤労意欲を削がれていくのです。)
明らかに二度手間・・・ですね。
結局、新参者の私が人身御供。そして判明したことは、上司の行動の尻拭い的なタスクだったということ。
上司が稟議システムにアップロードした資料を、全部ダウンロードして案件ごとにフォルダに格納するというタスクです。
・・・分かります。「無駄な作業では?」と思える部分が2箇所もあります。
まず、システム化したのに、なぜに二重管理をしたがる?という点。次に、アップロードしたのは上司なので、上司がデータ持ってるのでは?という点(つまり、ちゃんとフォルダ管理していれば、部下にわざわざ新規フォルダ作成させて、その上ダウンロードさせる必要ないのでは?)。
このあたりは序の口。諦める、が正解です。
VBAで複数フォルダを一括作成する
作成するファルダの名前の付け方にはルールがあります。
(フォルダ名)=(システムによって自動採番される番号)+(稟議署名)
システムの稟議書一覧画面では、番号と稟議署名が別のカラムになっているため、一覧画面をコピーしてエクセルに貼り付けただけでは足りません。下図のようにCONCATENATE関数を用いてフォルダ名のカラムを追加しました。
テーブルにしているので、A2セルに「=CONCATENATE(B2,” “, C3)」と入力すると、自動的に下のセルにも数式がコピーされます。
空のフォルダを作るだけなので、下のようなコードだけでOK。
Dim rng As Range | |
Dim newDirPath As String | |
For Each rng In Range("A1").ListObject.ListColumns(1).DataBodyRange | |
newDirPath = ThisWorkbook.Path & "\" & rng.Value | |
If Dir(newDirPath, vbDirectory) = "" Then | |
MkDir newDirPath | |
End If | |
Next rng | |
MsgBox "Folders has been created." |
このファイルを、空フォルダを作りたいフォルダに保存します。そしてマクロを実行しておしまいです。(私はこの後せっせと資料をダウンロードしましたが。)
フォルダ名の整形の必要がないのならば、こちらの方法もありですね。