3

問題は次のとおりです。バーコードを読み取り、読み取りが成功すると値を逆流させるレーザースキャナーがあります。これが発生すると、シリアル番号 (~20 桁の数字) がアクティブ セルに貼り付けられます。 貼り付けましたが、入力されていません。プライベートサブに何らかの「データが貼り付けられた場合」ステートメントを含める方法があるかどうかを知りたいです。

コードの 2 番目の目的は、次のように、右側の列の各エントリにタイムスタンプを付けることです。

Private Sub Worksheet_Change(ByVal Target As Range)

If Not Application.Intersect(Target, Range("A:A")) Is Nothing Then        
    ActiveCell.Offset(0, 1).Activate
    ActiveCell.Value = Now()
    ActiveCell.Offset(1, -1).Activate
    End If

End Sub

データは迅速に入力されないため、相対セル参照は問題になりません。
他に改善できる点があれば、遠慮なくお知らせください。

編集:一部の人がそれを持ち出したため、これは「単純な」貼り付けではありません。データは数式バーに配置されますが、入力されません。

編集2:これは私と同じ問題を抱えている別の人です。

4

1 に答える 1

0

バーコードリーダーは、バーコードから読み取った英数字を入力するキーボードの単なる代替品です。問題は、Enter キーを入力しないことです。バーコード リーダーでこの機能を有効にする方法があるかどうかを確認することをお勧めします。例: https://docs.symbol.com/KanisaPlatform/Publishing/444/ADC-01244_f.SAL_Public.html

Excel が VBA に公開してキーストロークを取得し、最終的に数式バーを変更するイベントは存在しません。

このソースによると: http://www.excelforum.com/excel-programming-vba-macros/686972-key-press-event-in-he-formula-bar.html、入力された文字のキープレスイベントをキャプチャできません数式バーで。同じソースは、Win32 API を介して数式バー ウィンドウに到達するイベントをリッスンする方法をハッキングすることを含む、可能な方法を説明しています。そこには何も刺激的ではありません。

于 2013-07-19T11:54:07.057 に答える