
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で質問しましょう!
似たような質問が見つかりました
- LINE LINEアプリ内のQRコードリーダーがカメラのピントが合わず読み込めません。 2 2022/08/26 15:39
- JavaScript 読み込んだQRコードをフォームに受け渡したい 1 2023/05/18 11:18
- Visual Basic(VBA) QRコード作成マクロについて 3 2022/11/26 16:55
- AJAX 入力フォームの値をQRコードで入力できるようにしたい。 6 2023/03/29 08:34
- その他(IT・Webサービス) 知り合いがバンドをしており、CDを作成したものをもらいました。 そのジャケットの表紙にQRコードがあ 5 2022/10/04 22:08
- 電子書籍 タブレットでQRコードが読み取れない 3 2023/04/03 07:22
- その他(スマホアプリ・スマホゲーム) QRコードの作成について 4 2023/10/20 11:33
- メルカリ らくらくメルカリ便で、ネコポスでファミマで発送しようとしました。 QRコードをマルチコピー機で読み取 1 2023/09/03 13:03
- ビジネス・マネー QRコードの使い方でお聞きします。 iPhone15を使っています。QRコード読み取りアプリをタップ 3 2024/04/18 22:22
- Excel(エクセル) エクセル シート表示 1 2024/07/07 01:41
このQ&Aを見た人はこんなQ&Aも見ています
-
Excelで教えてください。 バーコードリーダーで読み込みしたあと セルを自動で次のセルに行くように
Excel(エクセル)
-
Excelでバーコードリーダーで読み込ませた場所に移動して日時を表示させる方法。
Excel(エクセル)
-
バーコードで読み取った文字列を自動でエクセル カンマ 分割
Excel(エクセル)
-
-
4
エクセル バーコード作成で他のシートを参照するには?
Excel(エクセル)
-
5
[VB.net] ExcelへのQRコード出力処理について
Visual Basic(VBA)
-
6
QRコード作成マクロについて
Visual Basic(VBA)
-
7
入力フォームの値をQRコードで入力できるようにしたい。
AJAX
-
8
VBA エンターキーでイベントに入りたい。
PowerPoint(パワーポイント)
-
9
QRコードで複数セルに一括入力はできないですか?
その他(IT・Webサービス)
-
10
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
11
マクロでバーコードのリンクセルを指定したい
Excel(エクセル)
-
12
オブジェクト名をVBAで指定する方法を教えてくださ
PowerPoint(パワーポイント)
-
13
エクセルにMicrosoft Barcode Controlで全角文字を読ませる方法はありますか?
Excel(エクセル)
-
14
worksheetFunctionクラスのVlookupプロパティを取得できません エラーへの対応
Visual Basic(VBA)
-
15
【ExcelVBA】5万行以上のデータ比較の効率的な処理方法について
Visual Basic(VBA)
-
16
VBAでセルの書式を変えずに文字列を置換する方法をご教示ください
Visual Basic(VBA)
-
17
VBAのエラー表示の対処法について
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【ExcelVBA】5万行以上のデー...
-
vbsでのwebフォームへの入力制限?
-
VBAでCOPYを繰り返すと、処理が...
-
【マクロ】売上一覧YYYYMMDDHHS...
-
エクセルのマクロについて教え...
-
Vba Array関数について教えてく...
-
エクセルの改行について
-
(EXCEL超初心者)EXCELの関数(ま...
-
VBAでユーザーフォームを指定回...
-
【マクロ】開いているブックの...
-
Vba セルの4辺について罫線が有...
-
ワードの図形にマクロを登録で...
-
【マクロ】シートの変数へ入れ...
-
【マクロ】並び替えの範囲が、...
-
vb.net(vs2022)のtextboxのデザ...
-
エクセルのVBAコードと数式につ...
-
算術演算子「¥」の意味について
-
改行文字「vbCrLf」とは
-
ExcelVBAでパワポを操作したい
-
エクセルVBA 検索結果を隣のシ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Vba セルの4辺について罫線が有...
-
vbsでのwebフォームへの入力制限?
-
【ExcelVBA】5万行以上のデー...
-
【マクロ】売上一覧YYYYMMDDHHS...
-
【マクロ】開いているブックの...
-
【マクロ】並び替えの範囲が、...
-
エクセルの改行について
-
エクセルのマクロについて教え...
-
vb.net(vs2022)のtextboxのデザ...
-
VBAでCOPYを繰り返すと、処理が...
-
VBA ユーザーフォーム ボタンク...
-
エクセルのVBAコードと数式につ...
-
エクセルのVBAコードについて教...
-
[VB.net] ボタン(Flat)のEnable...
-
【マクロ】変数を使った、文字...
-
改行文字「vbCrLf」とは
-
質問58753 このコードでうまく...
-
【マクロ】シートの変数へ入れ...
-
ワードの図形にマクロを登録で...
-
算術演算子「¥」の意味について
おすすめ情報