退職者が「会社で何らかの『システム』を入れないから、これで作るしかない」といってVBAで作っていた。
一時は社内規定の残業上限に達するほどに、「夢中」で作っていた。
が、退職後3ヶ月、あるマクロの書き出すデータに致命的な問題が判明し、私が一部、使用停止を宣言した。
基幹系へ投入するデータが特定条件で確実に狂うのである、それも何ヶ月にも渡って誰も気づかなかった。
当該マクロでのデータ処理を禁止し、1年と少しぐらい、現業部が手作業でエクセルデータを作成していたと思う。
ろくに解説サイトも見ないでVBEでコードをこねくり回して作っていたのだと思う。
もしかすると、解説サイトや書籍の内容が理解できなかったのではないか、とすら思う。
Dim da as String da = "データ" Dim after as String after = "修正済" '---------------------------------------------- With ThisWorkbook.Worksheets(after) .Cells(i, 1).Value = ThisWorkbook.Worksheets(da).Cells(i, 1).Value .Cells(i, 2).Value = ThisWorkbook.Worksheets(da).Cells(i, 2).Value .Cells(i, 3).Value = ThisWorkbook.Worksheets(da).Cells(i, 3).Value .Cells(i, 4).Value = ThisWorkbook.Worksheets(da).Cells(i, 4).Value End with
シートをまたいで、ただ値をコピーして集計していく程度の内容であるが、Workbook/Worksheetの呼出が理解できていないのだと思う。
また、変数はワークシート名を格納する程度にしか使っていない。
シートの見出しも「修正決定○○数」という、一体、何の数量なのか理解に苦しむ見出しである。
使える制御構文はFor Nextだけらしく、Do WhileやFor Eachもなく、果てはLike構文すら見たことがない。
その人が退職して直ぐ後のミーティングで、自部署の担当役員がレジュメにこう書いていた
「努力は夢中に勝てない」
退職者も「夢中」で書いていたのだろうか。
マジでVBAとかどうでもいいから。 ソースまで載せなくていいよ。誰も興味ないから。
「会社で何らかの『システム』を入れないから、これで作るしかない」 こういう事情で本来業務の片手間にこしらえる小道具って、そんなものだと思うよ。 腰を据えて言語を学ぶ時間...