• ベストアンサー

エクセルにバーコード出力

以下の様なリストを作成し、別シートのA1セルに、バーコードで"11"と読み込むと 同じA1セルに"E"を表示することは可能でしょうか? (同様に"22"と読み込むと"F"を表示、"33"を読み込むと"G"を表示) 別セルに表示することは出来ますが、同じセルに表示をすることに困っています。 名前の管理・関数などを応用したやり方があると助かります。 (マクロやアクセスは使ったことがありませんので) 【リスト】    A列 B列 1行 11  E 2行 22  F 3行 33  G ※Excel2010を使用 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.4

あぁ、リストと別のシートにバーコードを入力するんですね。 手順: シート名「リスト」のA:B列にリストを用意する バーコードを入力する別のシートのシート名タブを右クリックしてコードの表示を選ぶ 現れたシートに下記をコピー貼り付ける private sub Worksheet_Change(byval Target as excel.range) if target.count > 1 then exit sub if target.column <> 1 then exit sub on error resume next target = application.worksheetfunction.vlookup(target.value, worksheets("リスト").range("A:B"), 2, false) end sub ファイルメニューから終了してエクセルに戻る A列に記入する。 #同様の他のマクロと一緒にすると動かないので、必ず別々に試す事。

acm7
質問者

お礼

リストの追加も出来ていいですね。 ありがとうございます。

その他の回答 (3)

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.3

A列を列選択 ホームタブの条件付き書式▼からセルの強調表示ルールで「指定の値に等しい」を開始 次の値に等しいセル として 11 を記入 書式▼のその他の書式からユーザー設定の書式で表示形式を選択 ユーザー定義を選んで "A" と設定、OK。 以下繰り返しで、22のときに"F"、33のときに"G"などをA列に重ね掛けしていきます。

acm7
質問者

お礼

2010はこんなことも出来るんですね。 ありがとうございます。

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

こんにちは! >バーコードで"11"と読み込むと となっている部分は >A列にデータが入力されると という解釈での一例です。 VBAになってしまいます。 画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面に ↓のコードをコピー&ペーストしてA列に一つずつデータを入力してみてください。 (A列すべてが対象としています) Private Sub Worksheet_Change(ByVal Target As Range) 'この行から If Application.Intersect(Target, Range("A:A")) Is Nothing Or Target.Count <> 1 Then Exit Sub Application.EnableEvents = False On Error Resume Next If Target <> "" Then With Target Select Case .Value Case 11 .Value = "E" Case 22 .Value = "F" Case 33 .Value = "G" '区分けがこれ以上ある場合はこの行以降に追加! Case Else MsgBox "該当データなし" End Select End With Else Exit Sub End If Application.EnableEvents = True End Sub 'この行まで こんな感じではどうでしょうか?m(_ _)m

acm7
質問者

お礼

成功しました。ありがとうございます。

回答No.1

>可能でしょうか? 「セルの中身が書き換わった時に呼び出されるマクロ」と言うのがあるので、それを使えば可能。 但し、マクロ内でセルを書き換えた瞬間に、自分自身のマクロが呼び出されてしまうので、かなり複雑な処理が必要になる。 たった4000文字では回答不可能な、かなりの複雑さになるので、詳細な記述は出来ません。

acm7
質問者

お礼

回答ありがとうございました。

関連するQ&A

専門家に質問してみよう