A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
こんにちは
QRコード入力はできているのでしょうか?
多くの場合は、リーダーからの入力を「キーボード入力+改行」として入力するような設定をしていると思いますが、そのあたりの設定をどのようにしているのかにもよります。
また、エクセル側でも「改行入力時のセルの移動方向」を設定できるので、これを横方向にしているか縦方向にしているのかも関係してきますね。
一番簡単なのは、入力用のシートではかまわず入力を続けて縦1列(または横1行)に入力してしまう方法でしょう。
別シートに関数等を設定しておいて、入力値をお好みのレイアウトに変更して読み替えれば、入力と同時に別シート側にはお求めの結果が並ぶことになります。
(この仕組みの場合は、関数のみなのでVBAは不要です)
どうしてもひとつのシート内でご質問の動作を実現したいのであれば、VBAを利用してSelection_ChangeやChangeイベントでアクティブなセル位置を次の入力位置に制御してあげれば良いことになります。
とは言え、リーダーからの入力と通常のキーボードからの入力の差は識別できませんので、常時走らせておくと通常のキーボード入力時にもカーソル位置制御がされてしまって不都合が起きてしまう可能性があります。
(入力専用のシートでその他の操作は一切行わないのなら問題ありませんが)
そのような場合には、制御の実行と停止を切り替えられるような仕組みにしておく必要があるかも知れません。
No.1
- 回答日時:
VBAでQRコードを読み取り、指定のセルに移動するプログラムを作成するには、以下の手順を参考にしてください。
1. QRコード読み取りライブラリの設定
まず、QRコードを読み取るために「ZXing.Net」ライブラリを使用します。以下の手順で設定を行います。
ZXing.Netから最新のリリースをダウンロードします。
ダウンロードしたZIPファイルを解凍し、zxing.dllとzxing.interop.dllを適切なフォルダにコピーします。
64bit OSの場合: C:\Windows\SysWOW64
32bit OSの場合: C:\Windows\System32
コマンドプロンプトを管理者権限で起動し、以下のコマンドを実行します。
64bit Excelの場合:
C:\Windows\Microsoft.NET\Framework64\最新フォルダ\regasm.exe /codebase zxing.interop.dll /tlb zxing.interop.tlb
32bit Excelの場合:
C:\Windows\Microsoft.NET\Framework\最新フォルダ\regasm.exe /codebase zxing.interop.dll /tlb zxing.interop.tlb
2. VBAコードの作成
次に、VBAコードを作成します。以下のサンプルコードを参考にしてください。
Sub ReadAndMove() Dim ws As Worksheet Dim qrData As String Dim i As Integer Set ws = ThisWorkbook.Sheets("Sheet1") ' シート名を適宜変更してください For i = 1 To 3 ' A1からA3まで繰り返し qrData = Decode_QR_Code_From_File("C:\path\to\qrcode" & i & ".png") ' QRコードの画像パスを適宜変更してください ws.Cells(i, 2).Value = qrData ' B列にQRコードのデータを入力 Next i End Sub Function Decode_QR_Code_From_File(strFilePth As String) As String Dim reader As Object Dim res As Object Set reader = CreateObject("ZXing.BarcodeReader") Set res = reader.DecodeFile(strFilePth) Decode_QR_Code_From_File = res.Text Set reader = Nothing Set res = Nothing End Function
このコードでは、A1からA3までのセルに対応するQRコードを読み取り、そのデータをB1からB3に入力します。QRコードの画像ファイルのパスは適宜変更してください。
3. 実行
Excelを開き、Alt + F11キーでVBAエディタを開きます。
新しいモジュールを挿入し、上記のコードを貼り付けます。
F5キーを押してコードを実行します。
これで、QRコードを読み取り、指定のセルにデータを入力するプログラムが実行されます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
夏が終わったと感じる瞬間って、どんな時?
まだまだ暑い今日この頃。 しかしながら、もう夏は終わっている!……はず。 あなたが思う「夏が終わった!」エピソードを教えてください。
-
家・車以外で、人生で一番奮発した買い物
どんなものにお金をかけるかは人それぞれの価値観ですが、 誰もが一度は清水の舞台から飛び降りる覚悟で、ちょっと贅沢な買い物をしたことがあるはず。
-
CDの保有枚数を教えてください
ひとむかし前はCDを買ったり借りたりが主流でしたが、サブスクで簡単に音楽が聴ける今、CDを手に取ることも減ってきたかと思います。皆さんは2024年現在、何枚くらいCDをお持ちですか?
-
昨日見た夢を教えて下さい
たまにすごいドラマチックな夢見ること、ありませんか? 起きてからも妙に記憶に残っているような、そんな夢。
-
「お昼の放送」の思い出
小学校から中学校、ところによっては高校まで お昼休みに校内放送で、放送委員が音楽とかおしゃべりとか流してましたよね。 最近は自分でもラジオができるようになって、そのクオリティもすごいことになっていると聞きます。
-
エクセル タブの下のメニューを選択 実行するコード
Visual Basic(VBA)
-
VBAコードのインデント表示
Visual Basic(VBA)
-
【ExcelVBA】dictionaryの重複判断の基準(セル結合だと違う値として認識される)
Visual Basic(VBA)
-
-
4
Excel VBA 選択範囲の罫線色の変更プロージャの動作速度の改善について
Visual Basic(VBA)
-
5
時間短縮のために、テキストファイルの入出力をメモリを使って出来ないですか?
Visual Basic(VBA)
-
6
VBAでセルの書式を変えずに文字列を置換する方法をご教示ください
Visual Basic(VBA)
-
7
EXCEL vbaでシート上に配置したボタンの移動については
Visual Basic(VBA)
-
8
VBA初心者 Ctrl+での操作、ボタンに登録での操作
Visual Basic(VBA)
-
9
VBA 複数条件の分岐処理の上手な方法
Visual Basic(VBA)
-
10
VBA SaveChanges 上書きされない
Visual Basic(VBA)
-
11
VBA レジストリの値の読み方について教えてください
Visual Basic(VBA)
-
12
エクセルVBA
Visual Basic(VBA)
-
13
VBA一覧取得 再投稿
Visual Basic(VBA)
-
14
VBAで大量のファイルをシート名ごとに転記やらいろいろしたい!
Visual Basic(VBA)
-
15
Excel 範囲指定スクショについて Excelで範囲指定してスクリーンショットする機能がありますが
Visual Basic(VBA)
-
16
エクセルVBAコードで教えて下さい!
Visual Basic(VBA)
-
17
VBAの間違い教えて下さい
Visual Basic(VBA)
-
18
サブフォルダに格納されているファイルを、ファイル名ごとに条件分岐させたい
Visual Basic(VBA)
-
19
ExcelVBAマクロで実行した時の疑問
Visual Basic(VBA)
-
20
Vba ファイル書き込み時に書き込みエラーを回避する方法を教えてください
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・ハマっている「お菓子」を教えて!
- ・最近、いつ泣きましたか?
- ・夏が終わったと感じる瞬間って、どんな時?
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルのVBAコードについて教...
-
エクセルvbaの対象セルに色をつ...
-
Excel VBA マクロ あるフォルダ...
-
【ExcelVBA】インデックスが有...
-
エクセルでCDOを使ったメール送...
-
VBA 別ブックからコピペしたい...
-
【ExcelVBA】5万行以上のデー...
-
Excel 範囲指定スクショについ...
-
VB.net(VB)で、フォームにExcel...
-
エクセルのマクロについて教え...
-
Outlookの「受信日時」「件名」...
-
エクセルVBAで特定のセルの値を...
-
VBAでセルの書式を変えずに文字...
-
vbs ブック共有を解除
-
【ExcelVBA】値を変更しながら...
-
ExcelVBA シート名を複数セルか...
-
エクセルVBAのブックを開く方法...
-
【VBA】 結合セルに複数画像と...
-
【VBA】スペースが入っていない...
-
【VBA】値を変更しながら連続で...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA 別ブックからコピペしたい...
-
VBA 別ブックから条件に合うも...
-
vba 別ブックに転記
-
【ExcelVBA】インデックスが有...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
エクセル タブの下のメニューを...
-
配列のペースト出力結果の書式...
-
Web画面の文字をVB6で取得したい
-
エクセルのマクロについて教え...
-
エクセルのマクロついて教えて...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
[Excel VBA]特定の条件で文字を...
-
エクセルのマクロについて教え...
-
VBA 入力箇所指定方法
-
EXCEL vbaでシート上に配置した...
-
エクセルのマクロについて教え...
おすすめ情報