[[20260630172918]] 『備品の入出庫管理』(カニ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) |

| 全文検索 | 過去ログ ]

 

『備品の入出庫管理』(カニ)

備品と管理棚にバーコードを付けて備品の入出庫管理をしたいと考えています。
エクセルかVBAのどちらが良いかも含めて質問させていただきます。

【保管時・返却時】
備品のバーコードと棚番のバーコードを読む

【取り出し時】
備品のバーコードを読む

エクセルの表示
【保管時】
A1 備品1
B1 棚番 A-1 保管中 

【取り出し時】
A1 備品1
B1 取り出し中

【返却時】
A1 備品1
B1 棚番 B-3 保管中 (違う棚番に保管しても保管先が変更できるようにしたい)

【未返却時】
A1 備品1
B1 取り出し中
赤塗りで表示させたい
例えば19時を過ぎると赤塗りにすることは可能でしょうか?

よろしくお願いいたします。

< 使用 Excel:Excel2016、使用 OS:Windows10 >


>例えば19時を過ぎると赤塗りにすることは可能でしょうか?
可能ですけど時刻は何処に記入するんですか。

保管棚まで行く必要があるんですよね。
その時のExcelはどうしているんですか。
バーコードどうしているんですか。

バーコードで読み込んだデータはどこにどうするんですか。

と言うことで提示された図を見直してください。

(匿名) 2026/06/30(火) 19:52:02


>エクセルかVBAのどちらが良いかも含めて
「エクセルの機能やワークシート関数」を使う方がよいか
「エクセルVBA」を使う方がよいか
という質問ですか。

今回のExcelファイルの表の見た目や、
ファイルの使用頻度、使用方法などが不明のため、
どちらが良いかの特定は現在の情報だけでは難しいです。

ExcelVBAというのは、基本的にはExcelの機能を呼び出して使うというイメージです。
ただし、Excelの機能というのは、「万人によく使われるもの」という感じなので、
痒い所に手が届かない事もあります。
VBAを使うかどうかの判断基準としては以下の通りです。
・エクセルに搭載されている機能だけでは不可能な場合
・細かい条件指定などが多い場合
・手入力作業に比べ、作業時間短縮、入力ミス防止など、
 大きな効果が見込める場合
・このファイルへの多くの機能の追加が必要と想定できる場合
・VBAプログラミングに精通している場合
といったところでしょうか。※あくまで個人の感想です。

私の場合、基本的にはExcelの機能で簡単にできるか調べてから
VBAを使うかどうかを判断します。
(自分の知らないExcelの機能や新機能が追加されているか確認する)

(ヘンリー) 2026/07/01(水) 10:36:29


 管理する備品の数がいくつあるのかわかりませんが、
 バーコードリーダーは人間に代わって番号を打ち込んでくれるだけなので、
 セルに備品や棚の番号を書き込んだところで、
 返却か借出しかの選択と実行のアクションが必要そうなのでVBA一択では?

 借りだしボタンクリック→備品バーコード読み込み待機→ピッ→ワークシートに書き込み処理
 返却ボタンクリック→備品バーコード読み込み待機→ピッ→棚バーコード読み込み待機→ピッ→ワークシートに書き込み処理

 という感じ

 棚のバーコードって棚に貼ってあるんですか?
 返却時は、返す備品とパソコンとバーコードスキャナを棚まで持って行く?
(´・ω・`) 2026/07/01(水) 11:28:38

もしかしたらワークシート関数、条件付き書式などを使えばできるかも…
と思っただけで、私は昔VBAで似たようなアプリを作成したことがあるし、
拡張機能の事を考えると、私なら迷わずVBAです。
ちなみに私が使用したバーコードリーダーは、読んだバーコードを
順次保存できる機能付きのものです。
このようなリーダーであれば、PCを持っていく必要はなくなります。

(ヘンリー) 2026/07/01(水) 12:41:12


 どこまでexcelでやろうとしているのかがわかりにくいですが

 19時になったら未返却を赤く塗りつぶすだけなら
 Application.OnTime というのがあるみたいなので簡単にできますね

 'ThisWorkBook
  Private Sub Workbook_Open()
     ' 起動時にマクロ予約
    Application.OnTime TimeValue("19:00:00"), "CheckAndFill"
 End Sub

 '標準モジュール
 Sub CheckAndFill()
    Dim ws As Worksheet
    Set ws = ThisWorkbook.Sheets("未返却")

    If ws.Range("A1").Value <>"" Then
        '赤色(RGB: 255, 0, 0)
        ws.Range("A1").Interior.Color = RGB(255, 0, 0)
    End If
 End Sub

 とか

 VBAはバイナリ実行できるのでマイコン制御もできると思いますが、
 カメラ連携も込みでpower apps当たりでやる方が簡単そうですけどね

 https://learn.microsoft.com/ja-jp/office/vba/api/excel.application.ontime
(ちくわ) 2026/07/01(水) 12:55:35

>例えば19時を過ぎると赤塗りにすることは可能でしょうか?
期間指定ですか。当日指定ですか。
(????) 2026/07/02(木) 09:12:08

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.