こんばんは!
>ボタンで登録出来る様にしたいのですがよろしくお願いします
当然Sheetにコマンドボタンを挿入したり、ユーザーフォームを利用したりする方法で可能です。
しかし、他の方々が仰っているように一気に!となると
かなりハードルが高いと思います。
ここでその方法を投稿しても、表の配置等でコードが変わってきますし、
エラーが発生した場合など対応ができないと何も意味がありませんので・・・
敢えて他の方法の一例です。
(極力お望みの方法に近い形になるようにしてみました)
↓の画像のようにSheet2に表を作成しておきます。
Sheet1のA2セルに
=IF(COUNTIF(Sheet2!A:A,B$1),VLOOKUP(B$1,Sheet2!A:E,ROW(),0),"")
という数式を入れ、A5セル(薄い黄色セル)までオートフィルでコピーしておきます。
これでSheet1のA1セルに品番を入力すればSheet2の一致するデータが表示されます。
次にSheet2のF2セルに
=IF(OR(A2="",A2<>Sheet1!B$1,COUNTBLANK(Sheet1!B$6:B$7)=2),"",E2-Sheet1!B$6+Sheet1!B$7)
という数式を入れオートフィルでずぃ~~~!っと下へコピーします。
これでSheet1のA6もしくはA7セルに数値を入力すると
Sheet2のF列に実際の在庫数が表示されます。
(出荷・入荷があるはずですので、A6.A7のセルを使ってみました)
ここでVBAになってしまいますが、
画面左下のSheet2のSheet見出し上で右クリック → コードの表示 → VBE画面に
↓のコードをコピー&ペーストしてください。
Private Sub Worksheet_Change(ByVal Target As Range) 'この行から
If Application.Intersect(Target, Range("E:E")) Is Nothing Or Target.Count <> 1 Then Exit Sub
Worksheets("Sheet1").Range("B1,B6:B7").ClearContents
'↑「Sheet1」の部分は実際のSheet名に!
End Sub 'この行まで
最後にSheet2のF列に表示されている数値を間違えないように
そのままその行のE列に手入力します。
これでSheet2のE列に数値を入力した段階でSheet1のデータが表示されなくなると思います。
※ 上記操作は当然VBAで一気に可能ですが、まずは第一段階の方法です。
参考になりますかね?m(_ _)m
お礼
回答ありがとう御座います。 実際の問題として、誰でも簡単に入力出来る様にしたい!会社で。 勉強と言っても会社で時間が空いた時にしか使用許可が降りない、しかもエクセル97?かな? 家の、PCにはエクセルは入っていません。で以前エクセル関数で簡単な表を作った事が有ったのを 覚えていた上司が、「こんなのどう?」的に言われたので、簡単に考えてしまいました。 こんなに難しいとは、思いもしませんでしたが、でもなんとか少しでも皆さんの知恵を お借りして頑張ろうと思います。入力は会社でしか出来ないので、ある程度知識が必要ですよね? と思ったしだいです。ですので「他人の答えを丸写し」になる可能性は非常に高いです。 いろいろ知恵を貸して頂きありがとう御座いました。