
エクセルとバーコードリーダーによって、在庫管理をしようと考えています。バーコードリーダーには、スキャンによって値が入力されるとPC上でtabキーを押す、という機能があるので、エクセルにリーダーで読み込んだ値が入力されたあと、次のセルに移動することができます。ですので、商品のバーコードを次々に読んでいって、エクセルのシート上にデータを蓄積させていきます。
この蓄積される行をsheet1につくった一覧表からcountif関数でチェック(shhet2にバーコード数値=商品名のリストがある)し、どの商品が何個あるかを数えていくようにしています。
=COUNTIF(10:10,Sheet2!D7)・・・(リーダーから入力される値が入る行:元リスト)
お尋ねしたいのは、バーコードから入力される値が、元リストにあるかどうかを照合し、リストに無い値が読み込まれた場合にエクセル上で警告音を鳴らすようにできないのか?という事です。
小型のノートPCでこのエクセルを動かし、肩掛けかばんに入れてバーコードリーダーだけ手元に。という事を考えているので、警告ダイアログ等は出さす、音だけで知らせるようにしたいのです。
以上、よろしくお願いします。

A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
>回答をいただいて、すぐに試してみたのですが、リストにある値でもBeep音が鳴ります…
う~ん、何故でしょうね?
ちなみに新しいブックで
Sheet2
A B
ABC
DEF
GHI
とでも準備して
Sheet1の名前のタブ、コードの表示で
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range
Set c = Sheets("Sheet2").Range("A1:A8").Find(What:=Target.Value, LookIn:=xlValues, LookAt:=xlWhole)
If c Is Nothing Then
MsgBox Target.Value & "はありません"
Else
MsgBox Target.Value & "は" & c.Address
End If
End Sub
を貼り付けて、適当なセルに ABC と入れた場合、ZZZと入れた場合で実験してみてください。
Sheets("Sheet2").Range("A1:A8").Find(What:=Target.Value, LookIn:=xlValues, LookAt:=xlWhole)
のTerget.ValueはSheet1の変更があったセルの値(本番では、バーコードで入力した値)
Sheet2のA1~A8を検索して
If c Is Nothing Then は もし見つからなければ
という分岐です。
見つかったら音を出すということなので、VBAの力を借りないと出来ません。
エクセルVBAで検索すると勉強のためのサイトがいくつもあります。
一度、根気強く勉強してもらうと、将来にも役にたつと思います。
No.2
- 回答日時:
例えばSheet1の名前のタブを右クリック、コードの表示
VBエディターが起動したら
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range
If Target.Row = 10 Then
Set c = Sheets("Sheet2").Range("B2:H8").Find(What:=Target.Value, LookIn:=xlValues, _
LookAt:=xlWhole)
If c Is Nothing Then Beep
End If
End Sub
を貼り付けして閉じてみてください。
VBAの動作を説明すると
Sheet1の10行目が変更されたら
Sheet2のB2:H8の範囲を検索、変更された値が検索値
もし、検索して何も見つからなければ Beep(音を出す)
といったような流れです。
後は、ご自身のシートにあわせて編集してみてください。
お返事が遅れて申し訳ありませんでした。
回答をいただいて、すぐに試してみたのですが、リストにある値でもBeep音が鳴ります…
でも、値は正しいのでcountifを入れている方のリストは数字がカウントされていきます。
VBAはさっぱりわからなかったので、いろいろ調べてみましたが、いまだ解決できません。
あまり長い間返答なしも失礼かと思いましたので、いったんお礼を申し上げようとコメントいたしました。
具体的な例もあげずに質問したのに、ご回答いただきありがとうございました。
No.1
- 回答日時:
今一、良くわからないのですが
>バーコードから入力される値が→Sheet2のB2~F7の入力される値?
>元リストにあるかどうかを照合し→Sheet1のどこにあるのでしょうか?
>リストに無い値が読み込まれた場合にエクセル上で警告音を鳴らす
→VBAの力を借りて出来ます。
添付画像のどこにバーコードの値が入って、検索する範囲がどこなの補足してください。
この回答への補足
言葉足らずというか説明が変で申し訳ありませんでした・・・
・バーコードから入力される値
絵が小さくて見えにくいですが、Sheet1のA10から右に続いています。バーコードのトリガーを押すたびに、バーコードを読む→エクセルのA10に値が入る→自動でB10がアクティブに→次のバーコードを読む・・・という動作をしています。
・元リストにあるかどうかを照合
Sheet2が元リストです。縦が商品の種類・横が商品のサイズです。
たとえば、バーコードをスキャンし、バーコードの数値がエクセルのSheet1のA10に162300017004と入ったとします、Sheet2の「黄/17.0」という元リストの数値と符合するので、Sheet1の「黄/17.0」に1がカウントされます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
首吊りどこ締めるの
-
血液検査報告書の「弱乳び」
-
検便についてです。 便は取れた...
-
彼女のことが好きすぎて彼女の...
-
原爆などで負った酷いやけどの...
-
MIN関数で空白セルを無視したい...
-
2つの数値のうち、数値が小さい...
-
EXCELの条件付き書式で数式を空...
-
血液検査の結果が悪くefgrの値...
-
値が入っているときだけ計算結...
-
病院側から早く来てくださいと...
-
風俗店へ行く前のご飯
-
勃起する時って痛いんですか? ...
-
検便を取ったのですが、棒から...
-
イタリアから帰国する際、肉製...
-
リンク先のファイルを開かなく...
-
excel関数で TRUEやFALSEについて
-
小数点以下を繰り上げたものを...
-
急いでます!病院から患者様へ...
-
男性に質問 お尻の穴を見せた...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
首吊りどこ締めるの
-
アトピー性皮膚炎
-
コロナになるのが死ぬほど怖い...
-
検便についてです。 便は取れた...
-
24歳、女性です。性欲が強すぎ...
-
未成年の従姉妹が自分の真似絵...
-
頭痛に関する質問です。現在高...
-
血液検査の結果が悪くefgrの値...
-
肝臓がんになりたいです。肝機...
-
何故 削除され続けるか、
-
◎敢えてノンジャンルカテゴリー...
-
彼女のことが好きすぎて彼女の...
-
腕を見たら黄色くなってる部分...
-
風俗店へ行く前のご飯
-
2つの数値のうち、数値が小さい...
-
病院側から早く来てくださいと...
-
EXCELで条件付き書式で空白セル...
-
Excel 数値の前の「 ' 」を一括...
-
リンク先のファイルを開かなく...
-
値が入っているときだけ計算結...
おすすめ情報