• ベストアンサー

エクセルでデータ登録したい

tom04の回答

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.5

こんばんは! >ボタンで登録出来る様にしたいのですがよろしくお願いします 当然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

tamamike3670
質問者

お礼

回答ありがとう御座います スゴーく参考になりました。ほんと凄いですね。目の前が開けた感じです。 また何か有りましたらよろしくお願い致します。

関連するQ&A

  • エクセルでデータを簡単に登録したい。

    エクセルでデータを呼び出して誰でも簡単に、見栄えよく修正後再登録したいのですが。 知恵をおかしください データシートには横列で品目コード、品名、規格、使用場所、在庫、使用回数となっており 登録シートには縦列に品目コード、品名、規格、使用場所、在庫、使用回数となっています。 出来れば品目コードで呼び出しも出来、使用場所でも呼出し出来る様にしたいです。 項目データ変更後、更新し、新規登録も出来、在庫がラスト1になると 赤表示になりデータシートに反映され、登録シートに警告表示、される様に 月ごとの使用回数が集計され専用シートに登録し、検索した時に表示されればと思いますがどこかに項目、シート追加はOKです。よろしくお願いします。 なお、エクセルしかありませんので、よろしくお願いします

  • エクセルでデータを簡単に登録したい。

    エクセルでデータを呼び出して誰でも簡単に、見栄えよく修正後再登録したいのですが。 知恵をおかしください データシートには横列で品目コード、品名、規格、使用場所、在庫、使用回数となっており 登録シートには縦列に品目コード、品名、規格、使用場所、在庫、使用回数となっています。 出来れば品目コードで呼び出しも出来、使用場所でも呼出し出来る様にしたいです。 項目データ変更後、更新し、新規登録も出来、在庫がラスト1になると 赤表示になりデータシートに反映され、登録シートに警告表示、される様に 月ごとの使用回数が集計され専用シートに登録し、検索した時に表示されればと思いますがどこかに項目、シート追加はOKです。会社でそのまま使用したいので よろしくお願いします。 なお、エクセルしかありませんので、よろしくお願いします。

  • エクセルで検索した場所へ自動でジャンプする方法

    エクセルで検索した場所へ自動でジャンプする方法はありますか?また、項目ごとに保存する方法は有りますか? 1、このシートは、コードを矢印の所に入力すると、規格一覧シートのデータを各項目に表示出来る様にしました。 で、修正したい項目セルを指定した時に、規格一覧シートを選択した場合同データセルにジャンプ出来る方法とか有るのでしょうか?また、VBAのボタンで検索とかで同じように検索出来る方法は有りますか? 2、このシートは項目にデータを表示させる様に関数を入れましたが、VBAで検索ボタンにコードを登録し、各項目にデータ表示 させ登録ボタンで規格一覧シートに登録させる方法は有りますか?なお規格一覧シートはこのようになっています。 ........A......... B....... C 1 コード 品目 規格 2 1234 いちご 果物 3 3456 キャベツ 野菜 よろしくお願いします。

  • エクセルでの関数にかなり詳しい方お願いします!

    エクセル関数に詳しい方、教えて下さい!! ABC分析を行なうに当たって、まず各店舗(5店舗)のデータ(品名とそれぞれの売上高)をエクセル上で横に並べ、同一品目については売上高の合計を算出しないといけない作業があります。 A列:品名 B列:店舗(1)の売上高 C列:店舗(2)の売上高 D列:店舗(3)の売上高 E列:店舗(4)の売上高 F列:店舗(5)の売上高 各店輔で在庫品目は異なり、各店のデータは別々にエクセル形式でFDに入っています。今までは、1つのシート上に各店輔のデータを地道に、コピー・ペースト→五十音順に並べ替え→同じ品目名については1つだけ残して同じ品目は削除し、売上高を手作業で横1列に並べる、という作業を行なっていました。 しかし、現在在庫品目数は1000を超え、その作業に膨大な時間がかかってしまいます。3店舗分に関してはJANコード?のようなもので管理出来るので、このコードを使って何か関数を当てはめ、時間の削減を出来ないでしょうか? 例えば、各店舗のデータを別々のシートにコピーし、コードが同一であれば、品目名とその売上高の合計を別のシートに算出する・・・ということは出来るでしょうか? 文章で書けることではないかもしれませんが・・・何か少しでもアドバイスいただけると嬉しいです。よろしくお願い致します。

  • エクセルのデータ入力に関して

    エクセルの初心者です。あらかじめ品番と品名のデータを作っておいて、ワークシート上で品番を入力すると品名が表示されるようにするにはどうしたらいいのでしょうか。

  • EXCEL VBAでユーザーフォームを使ってデータを入力したい。

    EXCEL VBAでユーザーフォームを使ってデータを入力したいと思っています。(ユーザーフォームはできています。) 入力項目が4項目あります。 名前 作業コード 開始時間 終了時間 上記4項目と登録ボタンです。 sheet1にユーザーフォームを表示し sheet2の A1に名前 B1に作業コード C1に開始時間 D1に終了時間が 登録ボタンを押すごとに どんどんデータを記録していきたいのです。 VBA初心者ですのでコードがよくわかりません。 ご教授ください。よろしくお願いいたします。

  • エクセルでのデータ照合

    エクセルで出来るか教えてください。 Sheet1 [品目コード]、[数量(c/s)]、[端数(p/c)] [ABCD] [110] 、 [ 2] [EFGH] [ 9 ] 、 [ 3] [IJKL] [ 0] 、 [ 7] Sheet2 [品名KEY]、[総個数(C/S)]、[総端数(P/C)] [ABCD] [ 110 ] 、 [   2] [EFGH] [ 8 ] 、 [ 3] [IJKL] [ 0 ] 、 [ 7] Sheet1とSheet2のデータ数量を照合して、数量に相違があるか簡単に調べる方法を 教えて下さい。 知識がないので行き詰っています。 知識が豊富なか方、助けてください。

  • Excelで

    Excelでシート1、納品書です、A1に品名B1単価、C1合計です、シート2にA1品名B1に単価が作成された表が有ります50品目、シート1の納品書A1に品名を入れると単価が自動的に入力される方法お願いします。

  • エクセルでデータの比較をしたいです。お教え頂けないでしょうか

    エクセルでデータの比較をしたいです。お教え頂けないでしょうか エクセルで2つのシートにある同一の商品コードと 在庫数を比較するマクロを作成中です。 シート1のA列にある商品コードとB列にある在庫数を取得し シート2のA列にある商品コードから同じ商品コードを探します。 同一の商品コードがあった場合に在庫数を比較して その数が減少していなければC列に次の処理を加える。  商品コードが合致した後は 処理を抜けて次の商品コードを比較させたいのですが 下行にある商品コードを探し続けてしまいます。(データの総当りとなる) つきましては どの様に記述すれば良いのでしょうか お教え頂けます様 よろしくお願い致します。 *********** Sub check1() Dim kz1 As long 'シート1データ数 Dim kz2 As long 'シート2データ数 Dim st1 As String 'シート名 Dim dt1 As Variant '商品コード Dim dt2 As Variant '在庫数 Sheets("sheet1").Select st1 = ActiveSheet.Name kz1 = Range("a65536").End(xlUp).Row Range("a1").Select ActiveCell.Offset(1, 0).Select For a = 0 To kz1 - 2 Sheets(st1).Select dt1 = ActiveCell.Value '商品コード dt2 = ActiveCell.Offset(0, 1).Value '在庫数 Sheets("sheet2").Select kz2 = Range("a65536").End(xlUp).Row Range("a1").Select ActiveCell.Offset(1, 0).Select For b = 0 To kz2 - 1 '同一商品コードを検索 if activecell.value = dt1 '在庫数を比較 if activecell.value >= dt2 '在庫数が同じ もしくは増加していた場合に処理 '次の処理を追加 endif else ActiveCell.Offset(1, 0).Select endif Next b Sheets(st1).Select Next a end sub

  • エクセルでデータ検索(抽出)ファイルを作成したい

    エクセルでわからない事があり投稿させて頂きました。 各店の在庫データをシート2.シート3.シート4へ貼り、 シート1に商品コードを入力する欄を作り、入力したコードの商品在庫が各店舗ごとに表示されるファイルを作成したいと思ってます。 (検索したコードの商品在庫数量をシート1のC列に表示させわかりやすくしたいです) 在庫データのファイルはC列に商品コード/F列に在庫数量が記載されており、商品コードでひっかかった行のF欄の数値をシート1のC列に出せるようにしたいのですが可能でしょうか? 過去ログは確認してみたもののわからず・・・ 可能かどうか教えて頂けると幸いです。