2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【VBA活用】業務効率化を推進しフィードバックを受け取る

Last updated at Posted at 2025-10-28

挨拶

こんにちは! 日々の業務を改善した~いと切に願っている小売業の会社員です
最近、仕事に慣れた事や人材入替り等で身の回りの環境が変わりつつあります。
そこで働き方に対する改善が必要と考えました。

前回は自分業務における改善案をChatGPTに相談し、
VBAという知識を得つつ、一部業務を『ほぼ自動化』できました。
⇓ 前回記事 ⇓

そして自分が出来るようになったことを
他スタッフに知ってもらいつつ
併せて部内の課題も調査しました
⇓ 調査過程 ⇓

すると、学んだVBAを活用して効率化できる業務内容を伺えました!
これは直ぐにでも解決してあげたいと思いましたので
ChatGPT・VBAを活用して動作確認をした上で
本人から感想を頂こうと思います!!

今記事も最後まで気楽に読んでいただけると幸いです

改善したい業務内容について

まず今回効率化したい業務内容については

画像の名前を変える 『・・・』 これだけです!!

では、なぜ画像の名前を変える必要があるのか?

商品登録ができない! 

極端な話これだけです、、が、とても重要なので疎かにはできません
※詳細は割愛致しますがご容赦ください

1枚変えるくらいなら30秒もないと思います
でも当然、1枚じゃないです!!
それに枚数が増えれば工数が増えて拘束時間が長くなるし、
間違えるリスクも高まります。危険です。。。
ではこの業務どれくらいの頻度で実施しているのかというと
・毎週1回 :1~10枚強(30秒~5分)
・月末    :不特定多数(時間計測不可、余裕をもって取り組むそうです)

人が実施するにはあまりにも効率が悪く危険が伴うということを皆さんも理解していただけたと思いますので早速使用したツールのご紹介💨

使用したツール

・ChatGPT  :問題解決の為、相談に乗ってくれる
       https://chatgpt.com/
       今回は以下の様に質問を始めてみました

・Excel   :マクロ活用する為、必要な情報を入力・出力
・マクロ   :ChatGPTより提案されるソースコードを動かす
        Excel内に搭載
・画像(名前) :今回動作確認をするのに重要な証拠🔍

動作確認とソースコードをご紹介!

動作確認

各ボタンについて解説させていただきます

【名前を読み込む】: A列に画像の名前を読み込む

【名前を変える】 : A列(A2、A3・・・)にある同じ名前の画像を
           B列(B2、B3・・・)の名前に変える
            ※B列が空白の場合、変更なしと判断

【元に戻す】   : B列(B2、B3・・・)にある同じ名前の画像を
           A列(A2、A3・・・)の名前に変える
            ※B列の間違いに気づいたとき用

各ボタンのソースコード ※フォルダパスは適宜変更

開発 ➡ Visual Basic ➡ 挿入 ➡ 標準モジュール

【名前を読み込む】クリックしてソースコードを見る
Sub ListCurrentFileNames()
    Dim folderPath As String
    Dim fileName As String
    Dim i As Long
    
    folderPath = "C:\Users\■■■■■■■■\Desktop\画像名前実験\"  ' ←適宜変更
    If Right(folderPath, 1) <> "\" Then folderPath = folderPath & "\"
    
    ' A列を上書き
    Columns("A").ClearContents
    
    ' 見出しをA1に表示
    Cells(1, 1).Value = "今の画像の名前"
    
    ' フォルダ内の画像ファイルを取得
    fileName = Dir(folderPath & "*.jpg")  ' JPGの場合
    i = 2  ' A2から開始
    Do While fileName <> ""
        Cells(i, 1).Value = fileName
        fileName = Dir
        i = i + 1
    Loop
    
    MsgBox "ファイル一覧をA列に表示しました"
End Sub

【名前を変える】クリックしてソースコードを見る
Sub RenameFilesFromBColumn()
    Dim folderPath As String
    Dim i As Long
    Dim oldName As String
    Dim newName As String
    
    folderPath = "C:\Users\■■■■■■■■\Desktop\画像名前実験\"  ' ←適宜変更
    If Right(folderPath, 1) <> "\" Then folderPath = folderPath & "\"
    
    i = 2  ' A2/B2から開始
    Do While Cells(i, 1).Value <> ""
        oldName = Cells(i, 1).Value
        newName = Cells(i, 2).Value
        
        If newName <> "" Then
            ' 拡張子は元のファイル名から取得
            newName = newName & Mid(oldName, InStrRev(oldName, "."))
            Name folderPath & oldName As folderPath & newName
        End If
        
        i = i + 1
    Loop
    
    MsgBox "ファイル名の変更が完了しました"
End Sub

【元に戻す】クリックしてソースコードを見る
Sub RestoreOriginalNames()
    Dim folderPath As String
    Dim i As Long
    Dim currentName As String
    Dim originalName As String
    
    folderPath = "C:\Users\■■■■■■■■■■\Desktop\画像名前実験\"  ' ←適宜変更
    If Right(folderPath, 1) <> "\" Then folderPath = folderPath & "\"
    
    i = 2  ' A2/B2から開始
    Do While Cells(i, 1).Value <> ""
        originalName = Cells(i, 1).Value
        currentName = Cells(i, 2).Value
        
        ' B列に名前が入っている場合はその名前でリネームされているはずなので元に戻す
        If currentName <> "" Then
            ' 拡張子は元のファイル名から取得
            Name folderPath & currentName & Mid(originalName, InStrRev(originalName, ".")) _
                As folderPath & originalName
        End If
        
        i = i + 1
    Loop
    
    MsgBox "元の名前に戻しました"
End Sub

ボタンを反映する方法  ※ソースコード反映後の挿入を推奨します

開発 ➡ 挿入 ➡ 左上の長方形の図形をクリック 

挿入したい適当な場所をクリックするとマクロの登録を要求されます
先にコードを設定していると候補がリストに表示されるので
反映したいコードをダブルクリックするだけで済みます

後は完成したボタンをサイズやボタンの名前等
自分好みに調整すれば完成👏

他の人に動作確認&フィードバック

早速、今回要望をくれたスタッフAさんに完成の報告と
動作確認にて使用したフォルダをZipファイルにて共有📤

スタッフAさんってこんな人

・普段勤務している場所が異なる為、中々会う機会がなく
 今回の説明も電話での運びとなりました
・細かいことや分からないことがあると率先して質問できる人
・現在進行形にて私発信の企画を補助してくれる頼もしい1人です
 ※補助は私からの申し出です💦

Aさんには画像の名前をほぼ自動で変えるツールという説明しかしてません
なので資料を見て『ボタンが3つ?』みたいな印象を持っていたそう(笑)
正直、口頭だけで新しい知識を得るのは難しいと思うので
実際に本人に動かしてもらいながら画面の様子を確認しつつ進めていきます

1.フォルダパスの修正

改めて紹介するまでもありませんが以下を参考

2.各ボタンの説明

動作確認での説明と同義

3.Q&A

Q:A列に何か入っていた場合、『名前を読み込む』はどう動く?
A:画像の数だけA列に名前を入力する。
  その際、既にデータが有っても上書きする
結論:A列に何かしらの手入力等は推奨しない

それ以外は特になかった・・・
(むしろフォルダパスの説明の方が時間かかった)

4.Aさんからのフィードバック

実際に試してみて動作の感想・感触を尋ねたところ
『いや、凄いです!』と絶賛を頂きました。
説明終了した丁度くらいにオンラインミーテイングの時間が来たので
席を外しましたがわざわざお礼メールまで、、、律儀な方だ

気に入っていただけたのがこれでもかと分かるようなメール本文でした

最後に反省やまとめ

反省点

1:動作説明をするときは電話でなく、リモート会議にしよう

フォルダパス説明の際にAさんがどこで躓いているのか電話越しでは分からなかった
普段教える時は直接会うか電話だった為、その癖が出てしまった。
今後直接会うのが難しい場合はリモート会議にて画面共有等で説明

2:『名前を読み込む』ボタンで画像も一緒に読み込みたい

Aさんには満足していただけましたが、自分で気づいてしまったことがあります
それはA列の画像が何か分からない!!
動作確認では予め画像の順番を把握していたためB列に『エランド、カピバラ、、、』等を
入力しておりましたが本番になれば逐一画像の順番を確認しなければなりません
フォルダを一緒に見ながらそこまで苦ではないと思いますがやはり
無駄な作業は少しでも減らすべきです。
近日中に改善版を作成してAさんに再提出したいと思います。

まとめ

前回記事にて私の貼付け作業、今回記事にてAさんの名前を変える作業
どちらの作業にも言えることなのですが
データ準備も貼り付ける作業も人がやっているという問題点が見えました。

他スタッフにもおそらくこれと同様の事が言えると思いますので
これらのどちらかだけでも自動化することで業務の拘束時間が短くなり
部内業務の効率が良くなることが確信できました。

そこで冒頭の挨拶でも挙げております働き方に対する改善は
私個人だけでなく部内全体に広めないといけない課題であることを意識しつつ
今後の達成すべき課題にしていきたいと思います。

みなさん、最後まで読んでいただきありがとうございました:pray:
次回の記事もお楽しみに

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?