重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

以下の様なリストを作成し、別シートのA1セルに、バーコードで"11"と読み込むと
同じA1セルに"E"を表示することは可能でしょうか?
(同様に"22"と読み込むと"F"を表示、"33"を読み込むと"G"を表示)

別セルに表示することは出来ますが、同じセルに表示をすることに困っています。

名前の管理・関数などを応用したやり方があると助かります。
(マクロやアクセスは使ったことがありませんので)

【リスト】
   A列 B列
1行 11  E
2行 22  F
3行 33  G
※Excel2010を使用

よろしくお願いします。

A 回答 (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列に記入する。

#同様の他のマクロと一緒にすると動かないので、必ず別々に試す事。
    • good
    • 0
この回答へのお礼

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

お礼日時:2013/04/21 17:01

A列を列選択


ホームタブの条件付き書式▼からセルの強調表示ルールで「指定の値に等しい」を開始
次の値に等しいセル として 11 を記入
書式▼のその他の書式からユーザー設定の書式で表示形式を選択
ユーザー定義を選んで
"A"
と設定、OK。

以下繰り返しで、22のときに"F"、33のときに"G"などをA列に重ね掛けしていきます。
「エクセルにバーコード出力」の回答画像3
    • good
    • 0
この回答へのお礼

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

お礼日時:2013/04/21 16:59

こんにちは!


>バーコードで"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
    • good
    • 0
この回答へのお礼

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

お礼日時:2013/04/21 16:57

>可能でしょうか?



「セルの中身が書き換わった時に呼び出されるマクロ」と言うのがあるので、それを使えば可能。

但し、マクロ内でセルを書き換えた瞬間に、自分自身のマクロが呼び出されてしまうので、かなり複雑な処理が必要になる。

たった4000文字では回答不可能な、かなりの複雑さになるので、詳細な記述は出来ません。
    • good
    • 0
この回答へのお礼

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

お礼日時:2013/04/21 16:52

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!