No.2
- 回答日時:
>A1にバーコードリーダでJANコードを入力します。
これがA1である必然性はなんですか?
検索ダイアログに入れればそのまま
検索してもらえそうに思いますが。
作業のしやすさなのですが、検索ダイヤログを使用した場合、目的のJANセルに移動し、そこから入力するための隣のセルに移動し、入力後、次の作業のために検索ダイアログをクリックします。その時、検索ダイアログに残った前のデータを消してから、次のJANを入力します(上書きできないので)。
何百回とこの操作を繰り返すので、キータッチ回数を少しでも減らしたいのです。
そこで、任意のセルに(例えばA1)にリーダーで入力し、目的のセルにデータを入力した後、A1に戻る(戻るボタンなどで)ことができれば、気にすることなく次のバーコードリーダー入力(上書き)できるのではないかと考えました。
No.3
- 回答日時:
こんばんは!
A1セルは手入力ですね?
一例です。
シートモジュールにしてください。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range
If Intersect(Target, Range("A1,C:C")) Is Nothing Or Target.Count > 1 Then Exit Sub
With Target
If .Column = 1 Then
If .Value <> "" Then
Set c = Range("B:B").Find(what:=.Value, LookIn:=xlValues, lookat:=xlWhole)
If Not c Is Nothing Then
c.Offset(, 1).Select
Else
MsgBox "該当なし"
.Select
End If
End If
Else
Range("A1").Select
Range("A1").ClearContents '//★//
End If
End With
End Sub
※ C列入力後、A1セルを選択するようにしていますが、
その時点でA1セルに入っていたデータは消去するようにしています。
そのまま残したい場合はコード内の「★」の行を消してください。m(_ _)m
ありがとうございます。
シートモジュール、Private Subのところでつまづいていますが、頑張ってみます。
sub call()
call Worksheet_Change(ByVal Target As Range)
End sub
を同じモジュールに書いて、callマクロから実行しようとしたのですが.....
No.4
- 回答日時:
念の為に確認ですが
① B列には重複は無いと考えて良いのでしょうか?
② B列の最後は2000の固定の方が良いのでしょうか?
③ B列にタイトル行は無いと考えて良いのでしょうか?
④ A1セルに戻った時はA1セルを自動クリアした方が良いのでしょうか?
⑤ C列に書き込んだら未確認でA1セルを選択するで良いでしょうか?(毎回確認だと作業化されてしまって習慣で結局確認ボタンを押してしまう事になってしまって手間なだけになる事が多いので…)
①重複はありません
②現在B7からB2559までにデータがあります。今後増えますが最大4000までです
③B6に”商品コード”というタイトルがあります。(B1~B5は空白)
④A1は自動クリアした方がよいです
⑤未確認でA1を選択することでよいです
よろしくお願いします
No.5
- 回答日時:
No.3です。
単純にシートモジュールだけで大丈夫だと思います。
画面左下の操作したいシート見出し上で右クリック → コードの表示 → VBE画面のカーソルが点滅しているところに
前回のコードをコピー&ペースト(Private Sub・・・~End Subまで)
Excel画面に戻り(VBE画面を閉じて)A1セルにデータを入力してみてください。
C列に飛びますので、C列に何らかのデータを入力するとA1セルに戻ります。m(_ _)m
ありがとうございます。
A1にB列にあるJANコードを入力しても”該当なし”となります。
私の質問の仕方がよくなっかったのかもしれません。
具体的には
B6にタイトル”商品コード”
B7~下にB2559まで、JANコードがあります。
それぞれのJANコードの横(C列)に在庫数を入力することが目的です。
例えば
A1にJANコード”14987233008665”を入力した場合
”14987233008665”がB10にあった場合はC10のセルが選択され、入力待ちになり、
C10に在庫数の3を入力したら、A1にアクティブセルがもどり、次の入力まちになる
教えていただいたVBAを理解しようと頑張っていますが、時間がかかりそうで、先ずはお礼まで。
No.6
- 回答日時:
No.3・5です。
セルの表示はどのようになっていますか?
仮に実データが「14987233008665」だと「1.49872E+13」のようになっていませんか?
数式バーではちゃんと表示されていてもExcel的には別物とみなしてしまうと思います。
試しにセルの表示形式を「文字列」にし、
「E」なしのすべての桁数表示にしてみたらどうなりますか?m(_ _)m
表示形式を文字列にしましたがE表示になります。
仮に実データを123と入力し、A1に123と入れたら うまくいきました。
B列のみE表示されないように考えます。
実際のデータシートかCSVからEXCELに取り込んだもので、他の列には価格などもあるため、全体を文字列としてEXCELに取り込むのも難があります。
本題からずれてしまいましたが、データ形式を解決すればお示しのVBAは機能することが確認できました。
No.8
- 回答日時:
A1セルとB列の書式設定は次のどれでしょうか?
①「@」(文字列)
②「00000000000000」(「0」を14個)
③ その他(具体的に提示してください)
CSVファイルをEXCELにそのまま取り込んだため、A列、B列ともE表示の数値です。表示形式を文字列に変えてみましたがE表示されます。
検索ボックスにてバーコードスキャナーでGS1コード入力すると、E表示のままのセルを検索することはできました。
A1はバーコードスキャナーでGS1コード入力するのでセル内は”1.49874E+13”のように表示されます(右寄りなので数値だと思います)
B列はやはり1.49871E+13で右寄りに表示されます
いずれも上部の表示は14桁の数字で表示されます。
No.9
- 回答日時:
それでは以下のようなものではダメですか?
--------------------------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Dim 行 As Long
Select Case Target.Column
Case 1
If Target.Row = 1 Then
For 行 = 7 To Cells(Rows.Count, 2).End(xlUp).Row
If Format(Cells(1, 1).Value, "@") = Format(Cells(行, 2).Value, "@") Then
Cells(行, 3).Select
Exit Sub
End If
Next
End If
MsgBox ("該当が有りませんでした")
Application.EnableEvents = False
Cells(1, 1).Select
Selection.ClearContents
Application.EnableEvents = True
Case 3
Application.EnableEvents = False
Cells(1, 1).Select
Selection.ClearContents
Application.EnableEvents = True
End Select
End Sub
--------------------------------------------------------
No.10
- 回答日時:
セルの表示も14桁の数字の方が良いですよね
--------------------------------------------------------
Private Sub Worksheet_Activate()
Range("A1,B:B").NumberFormatLocal = "0"
End Sub
--------------------------------------------------------
これを組み込むと対象のシートがアクティブになると勝手に書式を変えてくれるので使いやすいと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルの書式設定の表示形式で設定した文字を文字列としてコピーしたい 1 2022/12/21 10:41
- Excel(エクセル) 一つのセルに複数の関数を入力する方法 4 2022/09/30 13:42
- Excel(エクセル) 関数EXACT(文字列,文字列)とexcelVBA 3 2022/04/14 15:07
- Excel(エクセル) B列に、A列の数字が偶数の場合は1減算した数字、奇数の場合はそのまま数字を自動表示したい 4 2022/04/16 12:01
- Excel(エクセル) 【再度】Excelの関数について教えてください。 4 2023/07/28 13:06
- Excel(エクセル) 指定文字列が該当するA列をアクティブセルにするには 3 2022/08/17 13:18
- Excel(エクセル) Excelの関数について教えてください。 5 2023/07/28 11:27
- Visual Basic(VBA) エクセルVBAについて 2 2023/01/31 16:21
- Visual Basic(VBA) サブフォルダ(データ)にある複数の.xlsxファイルのSheet3のA2セルの値で01から左側をB2 2 2022/08/14 15:46
- Excel(エクセル) エクセルのことで教えてください。 A1セルに、 別シートのA1セルが1のときは「A」、2のときは「B 4 2023/02/24 23:08
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
エクセルVBAで、条件に一致するセルへ移動
Excel(エクセル)
-
VBA 検索して一致したセルへジャンプさせたい
その他(プログラミング・Web制作)
-
【VBA】指定したセルと同じ値で、別シートにあるセルに移動するには?
Visual Basic(VBA)
-
-
4
HYPERLINKとADDRESSとMATCHの組み合わせ技
Excel(エクセル)
-
5
EXCELである列を上から順にチェックし、重複値がある場合に一方のデータを移動する方法
Excel(エクセル)
-
6
値を入力後、自動的にアクティブセルが移動するマクロ
Excel(エクセル)
-
7
EXCELで2列を参照し、重複するものを横に並べたい
Excel(エクセル)
-
8
エクセルで検索して移動???
Excel(エクセル)
-
9
Enterキーでマクロを起動さす。
その他(ソフトウェア)
-
10
今日の日付が入った行のデータを取得するマクロ
Excel(エクセル)
-
11
ファイルのオープン時に今日の日付にジャンプ
Excel(エクセル)
-
12
エクセルで、日付を入力すると、別のセルに文字を自動的に表示させるようにするには。
Excel(エクセル)
-
13
あるセルに特定の文字列を打つと、他のセルに決められた文字が自動入力するように
Excel(エクセル)
-
14
エクセルの色も=イコールできますか?
Windows Me・NT・2000
-
15
ある列のセルに特定の文字が入っていたら他のセルに決まった文字を入れる
Word(ワード)
-
16
エクセルVBAでセルに入力したパスでブックを開く
Excel(エクセル)
-
17
エクセルでリストから指定セルへジャンプする
その他(ビジネス・キャリア)
-
18
エクセル ダブルクリック入力の範囲が複数の場合
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで特定の文字列が入っ...
-
エクセル マクロ オートフィ...
-
【Excel関数】UNIQUE関数で"0"...
-
AのセルとB行を比較して、一致...
-
[EXCEL]ボタン押す→時刻が表に...
-
結合されたセルをプルダウンの...
-
excel 小さすぎて見えないセル...
-
excelのデータで色つき行の抽出...
-
エクセル 上下で列幅を変えるには
-
エクセルのセルに指定画像(.jpg...
-
エクセル マクロ等を利用した各...
-
エクセル 時間の表示形式AM/PM...
-
サイズの違うセル 並べ変え
-
Excel グラフのプロットからデ...
-
エクセルで昨日までの日付デー...
-
アクティブになっている行をマ...
-
エクセル マクロで数値が変っ...
-
エクセルのマクロで意図しない...
-
Excelで非表示のセルをとばして...
-
EXCELで最後の行を固定
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで特定の文字列が入っ...
-
エクセル マクロ オートフィ...
-
【Excel関数】UNIQUE関数で"0"...
-
[EXCEL]ボタン押す→時刻が表に...
-
結合されたセルをプルダウンの...
-
エクセル マクロで数値が変っ...
-
Excel グラフのプロットからデ...
-
AのセルとB行を比較して、一致...
-
エクセル 上下で列幅を変えるには
-
Excel ウインドウ枠の固定をす...
-
特定の文字がある行以外を削除...
-
excelのデータで色つき行の抽出...
-
エクセル2016で時間を入力して...
-
excel 小さすぎて見えないセル...
-
EXCELで最後の行を固定
-
エクセルVBA 最終行を選んで並...
-
VBAで色の付いているセルの行削除
-
エクセルマクロで偶数行(又は...
-
エクセルのセルに指定画像(.jpg...
-
罫線の斜線を自動で引くマクロ
おすすめ情報