• ベストアンサー

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

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

  • acm7
  • お礼率92% (36/39)

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7940)
回答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/7940)
回答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
質問者

お礼

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

  • chie65535
  • ベストアンサー率43% (8524/19375)
回答No.1

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

acm7
質問者

お礼

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

関連するQ&A

  • エクセル関数の詳しい方ご教示ください。

    エクセルの詳しい方、ご教示ください。 A B C D E F G(表示したい列) 1行目 2 3 5 7 9 2 =知りたい関数 2行目  4 5 8 9 1 2 上記のようなランダムな数値データがあり、 ・Aの列に表示している数字の数だけ、 ・Bから右の列に移動した数字を、 ・Gの列に表示したい と、思っています。 例で考えると、 G1のセルは7 G2のセルは2 と表示されるイメージです。 Gにはどのような関数を使えばよいでしょうか?

  • エクセル関数かマクロで

    C列とF列とG列のセルの文字列が一致している行をS列に、 ●を表示することは可能でしょうか? 例えば    C列   F列   G列   S列 1行 あああ いいい ううう 2行 かかか ききき おおお  ● 3行 さささ ししし すすす 4行 あああ いいい さささ 5行 かかか あああ さささ 6行 かかか ききき おおお  ● 7行 ううう あああ すすす 2行目と6行目のC列、F列、G列が全く同じなのでS列に●を表示。 EXACT関数を応用すればできるのでしょうか?

  • Excelの関数またはマクロを教えて下さい。

    Exsel2000の関数で、現在以下の関数まで出来たのですが、これを応用して検索値「A1」を2つのセル「A1&B1」にしたいのですが、どうすればよいのでしょうか?どなたか方法を教えて下さい。 =VLOOKUP(A1,Sheet1!$A$1:$E$2000,4) 上記の関数から判るように、これは 例えばSheet2のC1のセルにこの式を入れる場合、A1と同じ内容の値を、Sheet1のA列から検索して、そして同じ行のSheet1のD列の値をSheet2のC1のセルに返すという関数です。 これを応用して、「A1と同じ内容…のA1を、A1&B1の2つが一致するセルを検索して、同じ列のSheet1のD列の値をSheet2のC1のセルに返すという関数にしたいのです。 どなたかおわかりになる方がおりました宜しくお願いいたします。 また、マクロを使う方法でも良いのですが、当方マクロは詳しくないので出来るだけ判りやすくお願いいたします。

  • エクセル2010 繰り返しマクロ

    (1)g列の空白の最上行に =SUMPRODUCT(min((a:a>=f2)*(a:a<f2+730)*e:e)) と入力。 そのセルをコピーし、同じセルに値を上書き貼り付け ↓ (2)a列に(1)のセルの左隣のセル以下の数値がある行の、b列を削除 (画像の場合、(1)のセルがg1の場合、b2,b3を削除する) というのを、f列に数値がある行だけ繰り返すマクロの構文を教えてください。 大変お手数おかけいたしますが、どうぞよろしくお願いします。

  • Excel 値の入っているものを抽出して連結

    Excel2013を使用しています。 行に値の入っているセルのみを別セルにひとまとめにしたいのです。 イメージのBからE列の値をF列に抽出して連結させる関数をお教えください。

  • 【Excel】取り出した値を順番に表示

    Excel2003を使用しています。 A列に『計』と入力された行のGセルの値を取り出して、順番に表示することはできますか? 例えば、A20セル、A24セル、A37セルにそれぞれ『計』と入力されていて、G20セル、G24セル、G37セルにそれぞれ『100』、『200』、『300』と入力されていた場合、どこか別の列、仮にI1セルから順番に『100』、『200』、『300』と表示させたいのですが、関数で可能でしょうか? F列の『計』は不規則に入っているので、空白行のない状態で順番に表示したいと思っています。 よろしくお願いします。

  • EXCEL入力規則選択 → 文字表示 or 入力可

    EXCEL2003で表を作成しています。 B列に入力規則を使い、「イ」または「ロ」が選べるようにリストを作ってあります。 B列(B3)のセルで 「イ」 を選ぶと、D列(D3)には「A」、E列(E3)には「0000」、F列「-」を表示させるようにし、B列(B3)のセルに 「ロ」 を選ぶと、D列(D3)、E列(E3)、F列(F3)に任意の文字を入力できるようにしたいのです。 以下、B4、B5、、、、と続いていっても、D4、E4、F4. D5、E5、F5・・・と対応していくような表にしたいのです。 関数でも、マクロでも何でもかまいません。できるだけ、簡単な方法を教えていただければと思います。よろしくお願いします。

  • エクセル(excel)の計算式(関数)について

    エクセル(excel)の計算式(関数)でよいアイディアがありましたら教えてください。 1行目は項目行です。 セルA1から右に15列=セルO1まで、 a | b | c | d | e | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 と入っています。 2行目からデータとして、 セルA2から右に5列=セルE2まで、 4 | 2 | 2 | 1 | 1 と入力したとします。(データ例(1)) あるいは、 セルA3から右にセルE3まで、 6 | 3 | 0 | 0 | 0 と入力したとします。(データ例(2)) 1つのデータの5個の数字のルールは2つで、 「合計で10以下である。」 「左から順に小さくなるか、同じ数字となる。」 です。 (目的は、) このとき、F列からO列にかけて、 データ例(1)のケースでは、 a | a | a | a | b | b | c | c | d | e データ例(2)のケースでは、 a | a | a | a | a | a | b | b | b | と表示されるように、 つまり、項目行の下にある数だけ、その列の1行目の記号を 1(F列)から右に向かって順に埋めていくような、 F列からO列までの2行目以下に入れる適当な計算式(関数)は ないでしょうか。 拙い説明で申し訳ありません。どなたかよい考えをお持ちの方がいらっしゃいましたらと存じます。 どうぞよろしくお願い致します。

  • Excel 2003 プルダウンでセル色変え

    Excel2003で、8種類の条件により列の色変え処理をしたいのです。 A列は、入力規則のドロップダウン リストにより入力します。 A列に入力されたことにより、B列からF列まで別シートからVLOOKUP関数によりデータが入ります。 B列は、1~8の数値データです。 B列の1~8の数値データにより、A列~F列まてのセルを色変えしたいと考えてます。 マクロとしては、どのように記述したら良いでしょか? ご教授ください。

  • Excel 複数セルから文字列の検索、表示

    エクセル初心者です。 過去のものを探しては見ましたが、うまくキーワードを見つけられなかったので 質問させてください。 リストで次のようなものがあるとします。  A   B  C  D  E  F  G 1○ 12 45 - 98 - 2■ - - 12 - 06 3◇ 35 12 01 99 - 4× - - - - 12 5☆ 08 61 20 12 - このリストで各行ごとにB~F列のセルにある「1」で始まる文字列を検索して 該当する文字列をG列に表示する方法はありますでしょうか? 関数とかVBAについては???なので、わかり易くお教え頂けると助かります。 よろしくお願いいたします。

専門家に質問してみよう