- 締切済み
エクセル データの登録、蓄積
はじめまして!初心者です。みなさまのお力をお借りしたいです┏○゛ A,B,Cの種類のものがそれぞれ20個ずつ(No.1~20)あります。 これを使用するたびに登録フォームで登録し、別のブックにデータを蓄積したいのです。 イメージはこんなかんじです。 ABCいずれかチェックか丸ポチで選択 ↓ No.を記入 ↓ 登録ボタンで登録終了 Aのデータはシート2に、Bは3にCは4に登録したいです。 そして、1つを12の倍数回使用するたびに通知してもらわなければなりません。 例「12回使用しました」 参考に登録画面とデータ画面を載せますので参考になさってください。 ちょっとややこしいのですが、どなたかできる方いらっしゃいましたらおしえて下さい。 宜しくお願いしますm(_ _)m
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- tsubu-yuki
- ベストアンサー率46% (179/386)
> 初心者 VBAを必ず通ります。 せめて、ご自身がやりたいことの一歩目だけでも ご自身で考えて作れるくらいになってから、 あるいはエクセルの一般機能でできることを理解してから、 本案件について考える方が良いと思いますよ。 とはいえ、単純な処理ですから「誰かが」作ってくれるとは思いますけどね。 普通はプロに対価を支払って作ってもらってもおかしくない案件です。 ゼロからの構築ですから、作成依頼としてQAサイトの禁則に当たります。 例えば、説明不足の例として 該当シートの「何処に何を」登録したいのか説明が不足していますね。 > A,B,Cの種類のものがそれぞれ20個ずつ とありますから、おそらくは、右の絵の列が対応しているのでしょうが、 それは回答者側の勝手な推測でしかありません。 そんなわけで参考例。 With Sheets("Sheet1") If .OptionButton1.Value = False And _ .OptionButton2.Value = False And _ .OptionButton3.Value = False Then MsgBox ("オプションボタンを選択") Exit Sub End If If .Range("C8") = "" Or _ .Range("C8") > 20 Then MsgBox ("1~20") Exit Sub End If If .OptionButton1.Value = True Then OB = 1 If .OptionButton2.Value = True Then OB = 2 If .OptionButton3.Value = True Then OB = 3 myC = .Range("C8") + 1 End With With Sheets("Sheet" & OB + 1) myNo = WorksheetFunction.Count(.Range("B3:U" & Rows.Count)) + 3 .Cells(myNo, myC) = Format(Now(), "yyyy/mm/dd") If (WorksheetFunction.Count(.Columns(myC)) - 1) Mod 12 = 0 Then MsgBox ("12倍数") End If .Select .Cells(myNo, myC).Select MsgBox ("登録") End With With Sheets("Sheet1") .Activate .OptionButton1.Value = False .OptionButton2.Value = False .OptionButton3.Value = False .Range("C8").ClearContents .Range("C8").Select End With
- imogasi
- ベストアンサー率27% (4737/17069)
したい、言うのはたやすいが、たぶんVBAを使うべきような内容を含んでおり、質問の(文章)表現から、推測して、質問者の現状では、自力で作成はむつかしいと思う。どうしますか。 ーー それに設計の仕方が初心者向けでない。 初心者や普通の人は、AのデータはSheet1を手動で開き入力する。 同様にBのデータはSheet2を手動で開き入力する。などすることで辛抱すると思う。 又はA,Bとも同一シートに入力し、利用するとき、シートをA,Bで分離するとか、すると思うが。 A,Bのデータが一緒になっている方が、関数利用等で簡単になる場合もありそう。 初めから、かっこよさを追わない。