
No.4ベストアンサー
- 回答日時:
No.2です。
>バーコードリーダーで読み取った人の横のセルに読み取った時の時間を入力
>出来るようにしたいと思っています。
ということであれば、作成された表のセル番地ではなく、生徒番号など一意に決められたものをバーコード化し、名簿には生徒番号と氏名を併記すべきです。
作成された表のセル番地でバーコードを作成してしまうと、バーコード作成後は、名簿の表に対して、見出し行の追加、列の追加、名簿の並び替え、名簿(例.あいうえお順)への生徒の追加等々、セル番地に影響を与える名簿の形式の変更は一切できなくなってしまいます。
バーコードリーダーを使用した入力では、「キーボードエミュレータ」として動作するので、普通はバーコードリーダーの設定で「Enter」キーの押下を付与します(殆どの製品は工場出荷状態がEnterキー押下付与設定済みだと思います)。セル番地を意識するのではなく、入力列を定めてバーコードを読込みすると、アクティブセルに読込値が入力され、読込位置が一つ下のセルに移動します。こうすることで次々とバーコードを連続して読込むことができるわけです。
また、バーコードリーダーでの処理を要するケースでは、処理件数がそれなりに多いのが一般的です。
一列に入力していく方式であれば、処理件数は行数と一致し、データも読込順に並んでいますので、「読込もれ」「感知ミス」「ノート未提出(?)」などが発見し易いというメリットがあります。
No.1さんのVBAもこうした考えのもと、A列のセルにバーコードの値を読込みすると、B列の同じ行に読込み日時を表示するというものだと思います。
通常ならバーコードには一意の識別コード(生徒番号等)が記録されているので、読込により「A.生徒番号と日時の一覧表」が作成され、既存の「B.生徒番号と生徒氏名」と二つの表が出来る訳です。あとは「A.」の生徒番号が「B.」の生徒番号と一致した者の氏名の横に日時を表示するようにしておけば、バーコード読込完了と同時に「B.」への表示も完了します。
ここからは完全な推測ですが、仮にご質問者がA列とC列に生徒名を入れた名簿を作成済みで、生徒名と紐付いたセル番地をバーコード化してB列とD列に「日時」を表示したいのであれば、前述の理由からお勧めはしませんが、以下の方法で可能です。
(1)まず、名簿をSheet1とします。見出し行などはなく、A1から名前が入力されているものとします。
(2)Sheet2にNo.1さんの回答にあるVBAを若干修正した、以下のコードをシートモジュールとして記述します。
※ fujillinさん流用をお許しください。
※セル番地は「A10+チェックデジット」のような形式でバーコード化されているものとします。(チェックデジットなしのバーコードも作成可能ですが、読込時にオートコンプリート機能をオフにしないと正しく読込できない可能性があります。以下のVBAはチェックデジット付きを前提としています。)
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Or Target.Column <> 1 Then Exit Sub
Add = Left(Target.Value, Len(Target.Value) - 1)
With Sheets(1).Range(Add).Offset(, 1)
.NumberFormatLocal = "yyyy/m/d h:mm;@"
.Value = Now()
.EntireColumn.AutoFit
End With
End Sub
(3)次にSheet2を開いて、A1セルを選択し、バーコードの読込を開始します。これで、読込の都度、A列に「チェックデジット付きセル番地」が順次表示されていくはずです。
(6)読込が完了したらSheet1を開くと、読込んだ生徒の分の日時が所定のセルに表示されているはずです。
これで、ご質問者の要望は一応実現すると思います。
私の質問にお答え頂きありがとうございます。
やりたい事は推測で書いてくださったことその通りです。
その方法でやってみます。
ありがとうございました!
No.3
- 回答日時:
No1です。
>読み込まれた時の時間が表示されるようになっていますでしょうか?
なっていません。
No1に書いてある通りで、「A列に入力があったら、B列に日時が表示される」サンプルです。(行はどこでも可能)
単純に「A列に」の限定を外したいだけなら、最初の「A列のチェック」を外せばそのようになります。
他にもいろいろなさりたいのであれば、大概のことはコードの記述内容を変えることで可能です。
検索すれば、いろいろな参考サイトが見つかることと思いますので、調べてみてください。
No.2
- 回答日時:
ご質問者の説明のとおりだとすると、バーコードにはセル番地が記録されていることになります。
しかし、このセル番地はなにを意味しているのでしょうか?
バーコードを発行するときに、どうやってセル番地を一意に決定するのでしょうか?
>セルに読み込んだ日時を自動で表示させて、それを連続でできる方法はありますか?
と聞かれれば「あります」なのですが、例えば最初に読み込んだバーコードが「A1」でここに今日の日付「2021/4/23」を表示させたとして、二番目に読み込んだバーコードが「A500」だとすると。ここにも「2021/4/23」にが表示されます。
さらに、三番目に読み込んだバーコードが「A1000」だとするとA1000にも「2021/4/23」が表示されます。
A1、A500、A1000にそれぞれ今日の日付が表示された、やたら隙間だらけの縦長の表ができるわけですが、こんな表ができてもとても実用に耐えるとは思えません。
ご質問者は何か勘違いをされておられるか、説明が正しく伝わらないか、どちらかではありませんか?
No.1さんも
>ご質問文はコードに上書きするような記述になっていますけれど、それならコードを入力する必要がなくなってしまう
とご指摘のように、質問内容が理解できない部分があるのです。
No.1さんの回答のように、バーコード(内容はセル番地ではないもの)をA1に読み込み、別セルに日付を表示するという意味なら理解できますが・・・。
No.1
- 回答日時:
こんにちは
マクロを使えば可能でしょう。
バーコード入力の最後にEnterコードが付加されているものとして…
以下は、コード入力がA列にされた場合に、B列に日時を表示する例です。
(ご質問文はコードに上書きするような記述になっていますけれど、それならコードを入力する必要がなくなってしまうので、B列に変えてあります。)
対象シートのシートモジュール(=シートタブを右クリックして「コードの表示」を選択したときの画面)に以下を記述。
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Or Target.Column <> 1 Then Exit Sub
With Target.Offset(, 1)
.NumberFormatLocal = "yyyy/m/d h:mm;@"
.Value = Now()
.EntireColumn.AutoFit
End With
End Sub
※ バーコード環境がないので、実機でのテストはしていませんが、悪しからず。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) Pythonを勉強しています。 5 2023/08/25 09:51
- Excel(エクセル) 至急 Excel日付表示設定教えてください Excelの日付表示ですが、他者から送られてくるExce 6 2023/02/03 11:01
- Access(アクセス) accessでexcelを読み込む時のデータ型 1 2022/03/28 19:45
- システム 外付けHDDの初期化について 4 2023/03/05 20:00
- Excel(エクセル) 隣り合っていないセルを まとめて税込表示したい 8 2022/09/25 14:32
- Visual Basic(VBA) エクセルのマクロで対象ごとにシート分けしてその内容をセルに書き込みたい 9 2022/08/24 13:23
- Excel(エクセル) Excel VBAどこが間違ってますか? 4 2023/07/17 10:04
- Excel(エクセル) エクセルについて教えてください。 1 2022/12/26 09:01
- WordPress(ワードプレス) WordpressでYouTubeの埋め込みができない。 1 2022/10/26 01:08
- その他(プログラミング・Web制作) 【python】Excelファイルを読み込む際の日付の表示形式を任意にする 2 2022/11/24 14:21
このQ&Aを見た人はこんなQ&Aも見ています
-
Excelで教えてください。 バーコードリーダーで読み込みしたあと セルを自動で次のセルに行くように
Excel(エクセル)
-
関数を使った日時の自動入力
Excel(エクセル)
-
A1セルに入力したら、入力時間をA2セルに自動挿入
Excel(エクセル)
-
-
4
エクセルへバーコードリーダーから入力
会計ソフト・業務用ソフト
-
5
特定のエクセルファイルを起動させる方法
Excel(エクセル)
-
6
エクセルVBAで、条件に一致するセルへ移動
Excel(エクセル)
-
7
バーコードで読み取った文字列を自動でエクセル カンマ 分割
Excel(エクセル)
-
8
値を入力後、自動的にアクティブセルが移動するマクロ
Excel(エクセル)
-
9
EXCELでバーコードを作成すると白くなってコードが見えません
その他(Microsoft Office)
-
10
VBA 入力箇所指定方法
Visual Basic(VBA)
-
11
【VBA】指定したセルと同じ値で、別シートにあるセルに移動するには?
Visual Basic(VBA)
-
12
QRコードを読み取りエクセル画面にとぶ
Excel(エクセル)
-
13
VBAバーコード照合 バーコードリーダーがPCについており、 バーコードを読み取るとセルに入力され、
Visual Basic(VBA)
-
14
QRコードで複数セルに一括入力はできないですか?
その他(IT・Webサービス)
-
15
Excel VBA あるセルでENTERを押すと特定のセルへ移動したい
Excel(エクセル)
-
16
エクセル、条件を満たしたら音を鳴らす方法教えて下さい
Excel(エクセル)
-
17
エクセルマクロでバーコードを読みたい
Excel(エクセル)
-
18
VBAでバーコードからデータが読み込まれません。
Excel(エクセル)
-
19
ACCESS2013でバーコードリーダーを使用し、簡略化したい
Access(アクセス)
-
20
データが入力されている隣のセルに当日日付と時刻を入力するExcel VBAプログラム
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
振込請求書が破れてしまいました
-
コンビニ決済の用紙で支払いの...
-
バーコードってダブらない?
-
DVDディスクのケースの開け方が...
-
EXCELでバーコードを作成すると...
-
値札の金額とレシートの値段が違う
-
バーコードの読み取り可能なサ...
-
Microsoft Access 2010 Runtime...
-
JANコードとEANコードの違い
-
録画予約Gコードの仕組み
-
ガラケーでQRコードを読み込み...
-
Accessでバーコードを作成する...
-
読み取ったQRコード/バーコード...
-
Access2016Runtimeをインストー...
-
バーコードを作成するソフト
-
キーボードの数字キー及びテン...
-
レシートにバーコード
-
バーコードリーダーの設定
-
DVDで1層か2層なのかを完璧に見...
-
エクセルを使用しての実地棚卸
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXCELでバーコードを作成すると...
-
読み取ったQRコード/バーコード...
-
バーコードコントロールが印刷...
-
バーコードってダブらない?
-
エクセル バーコード作成で他の...
-
差し込み印刷のバーコードを小さく...
-
振込請求書が破れてしまいました
-
コンビニ決済の用紙で支払いの...
-
商品についてるバーコードって...
-
国内線航空券をJALのアプリにて...
-
Excelでバーコードリーダーで読...
-
レシートにバーコード
-
マクロでバーコードのリンクセ...
-
Access2016Runtimeをインストー...
-
コンビニバイトで商品バーコー...
-
テプラ PRO SR530 バーコード...
-
ACCESS2013でバーコードリーダ...
-
Excelの Microsoft バーコード...
-
EXCELで作成したバーコードの更...
-
PayPay でバーコード支払いを行...
おすすめ情報
質問にお答え頂きありがとうございます!
そちらの方法で1度やってみます。
ですが、私の説明不足で、やりたいことが出来るか不安な所があるのですが、例えばC1Enterと入力されればD1に、時刻は表示されるのでしょうか?
それと、名簿を作って、その横にバーコード入力された時の時間を書き込みたいので、例えばA1を入力されたあとにA32、C15のようにランダムに入力された時にA1と読み込まれたらB1に、A32だったらB32に、C15だったら、D15に読み込まれた時の時間が表示されるようになっていますでしょうか?
私の説明不足で2回も質問することになってしまいすみません。
もしよろしければ、ご回答頂けるととてもありがたいです。
よろしくお願いします。
説明不足ですみません!
初心者で、分からないことが多いため、やりたい事を書かせていただきます。
生徒名簿を作って全員のノートにバーコードをつけ、バーコードリーダーで読み取った人の横のセルに読み取った時の時間を入力出来るようにしたいと思っています。
よろしくお願いします。