
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も見ています
-
入力フォームの値をQRコードで入力できるようにしたい。
AJAX
-
Excelで教えてください。 バーコードリーダーで読み込みしたあと セルを自動で次のセルに行くように
Excel(エクセル)
-
QRコード作成マクロについて
Visual Basic(VBA)
-
-
4
VBA エンターキーでイベントに入りたい。
PowerPoint(パワーポイント)
-
5
エクセル バーコード作成で他のシートを参照するには?
Excel(エクセル)
-
6
エクセルマクロでバーコードを読みたい
Excel(エクセル)
-
7
[VB.net] ExcelへのQRコード出力処理について
Visual Basic(VBA)
-
8
Excelでバーコードリーダーで読み込ませた場所に移動して日時を表示させる方法。
Excel(エクセル)
-
9
バーコードで読み取った文字列を自動でエクセル カンマ 分割
Excel(エクセル)
-
10
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
11
QRコードで複数セルに一括入力はできないですか?
その他(IT・Webサービス)
-
12
特定のエクセルファイルを起動させる方法
Excel(エクセル)
-
13
マクロでバーコードのリンクセルを指定したい
Excel(エクセル)
-
14
バーコードリーダーの読込データを画面表示する
Visual Basic(VBA)
-
15
VBA シートのボタン名を変更したい
Visual Basic(VBA)
-
16
excelのInputBoxで日本語入力OFFにしたい
Excel(エクセル)
-
17
エクセルにMicrosoft Barcode Controlで全角文字を読ませる方法はありますか?
Excel(エクセル)
-
18
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
19
VBA フォームのテキストボックスにセルの値を表示させたいが改行していたら改行もあわせて表示させたい
Excel(エクセル)
-
20
worksheetFunctionクラスのVlookupプロパティを取得できません エラーへの対応
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel VBA セルの値がおかしいです
-
VBA セル間のリンク修正につい...
-
WindowsのOutlook を VBA から...
-
【ExcelVBA】値を変更しながら...
-
ExcelのVBAコードについて教え...
-
VBAでCOPYを繰り返すと、処理が...
-
マクロの記録を使用したマクロ...
-
vba textboxへの入力について教...
-
複数のExcelファイルをマージす...
-
Vba Array関数について教えてく...
-
【マクロ】シートの変数へ入れ...
-
【マクロ】並び替えの範囲が、...
-
【マクロ】売上一覧YYYYMMDDHHS...
-
【マクロ】開いているブックの...
-
Excelのマクロについて教えてく...
-
Vba WorkBooks.Openについて教...
-
VBAから書き込んだ条件付き初期...
-
Vba 型が一致しません(エラー1...
-
【ExcelVBA】5万行以上のデー...
-
[Excel VBA]特定の条件で文字を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA セル間のリンク修正につい...
-
VBAでCOPYを繰り返すと、処理が...
-
vba textboxへの入力について教...
-
【マクロ】シートの変数へ入れ...
-
【マクロ】並び替えの範囲が、...
-
Vba Array関数について教えてく...
-
Vba セルの4辺について罫線が有...
-
【マクロ】開いているブックの...
-
複数のExcelファイルをマージす...
-
【マクロ】売上一覧YYYYMMDDHHS...
-
【ExcelVBA】5万行以上のデー...
-
vbsでのwebフォームへの入力制限?
-
[VB.net] ボタン(Flat)のEnable...
-
Excelのマクロについて教えてく...
-
【ExcelVBA】値を変更しながら...
-
改行文字「vbCrLf」とは
-
算術演算子「¥」の意味について
-
VBAでセルの書式を変えずに文字...
-
VBAの「To」という語句について
-
VB.net 文字列から日付型へ変更...
おすすめ情報