- ベストアンサー
VBAエクセルのフォームについて
お世話になっております。 VBAエクセルのフォームについて教えていただきたいのです。 VBAで入力のフォームを作ったのですが(TEXT BOXが4つ、コマンドボタン1つ、コマンドボタンを押したときに登録される用にしたい) 各シートの集計にしたい為、各シート(31のシートがあります)に入力フォームがあります、その各シートでの入力結果を1つのシートに 集計したいのですが、どの様なコードにしたらようか判りません。 素人のためお手数ですが、なるべく判りやすくお願いします。 よろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
まだまだ情報が不足しています。 ・集計シートには日付順で備考を並べたい⇒集計シートには、備考以外なにを書き込みたいのですか?。もっと具体的に!!。 ・備考がない時は日付をとばしたい⇒マクロを知っていれば簡単ですが。素人には、難しいでしょうね。 ・シートに上からつめて集計したい⇒マクロを知っていれば簡単ですが。素人には、難しいでしょうね。 *** 集計シートには、何と何を書きたいのか? 集計シートには、何をどのように 配置したいのか? 集計シートには、いつの時点で、集計結果をまとめたいのか? TEXT BOXが4つ・・・ここには、どんなデータが入るのですか そして、このデータをどのセルに入れたいのですか また、31シートもある中からどのシートをなにをキーワードに選択するのでしょうか?。 上の*** 以下の内容みたいに、整理して置かないと間違った方向に行ってしまい 後で泣きを見ますよ!!。 いきなり、大きな(今回の質問からは、決して大きいとは、言えないが 素人には、大きい)ものを手がけるのではなく 例;コマンドボタンは、どのように使用するの? とか VBAでの計算は、どのようになるの? とか 簡単なものから、勉強したら どうでしょうか?。 または、サンプルプログラムのCDがある 参考書を購入して勉強し それを、手直ししながら 少しずつ 目的のプログラムを完成させていく方が良いのでは、ちなみに 私の場合は、そうして学びました。
その他の回答 (3)
- imogasi
- ベストアンサー率27% (4737/17070)
やりたいことと、入力フォームは関係のないことでは。やっと入力フォームを作ったので、誇らしく(>入力フォームにあこがれて)書きたい気持ちから出たのでしょうが、読む人を混乱させる。プログラムを書く技術はプログラム的に必要なものは何かを見極める技術で、それが判ってない段階のようです。 またVBAを1つ2つ組むと、それに拘り、操作(ウイザード)や関数で簡単にできる箇所までVBAの質問としてあげている質問も多いが心しておくべき箇所です。 質問題は2つ有るようです。 ーーー (1)フォームにデータを入力し、コマンドボタン押し下げでシートに入力したい。 Clickイベント 入力済み最終行を捉えるコード(Endメソッドとxlupヂレクション) を理解すれば簡単です。 ーーー (2)シートが31できて、それを質問者は、集計したいようです。 その結果は31のシートとは別シートのようです。 そこで (A)計数の集計 (B)備考文章の集約 があるようですが、 どちらも#1の補足ではやりたいことは見えても、コーディング例を 上げるには記述不足です。 自分でコードができたとき、質問に記述してないデータ(つまるところ、行と列の特定です。これは簡単例でも挙げないと伝わりません) が沢山あったことがわかるでしょう。自分は以前から課題をイメージしたり(そのことで頭がいっぱい)、表を目の前に見てます。しかし回答者は、それが見えないし、いま急に課題に向き合っている状態です。そのことをぜひ忘れないようにして、質問文を書いてください。
- zap35
- ベストアンサー率44% (1383/3079)
この質問では回答のしようがありません。 まず、ご質問の趣旨はどちらでしょうか? またどこまでが既にできていて、どこからをこれから作成するのでしょうか。 (1)入力フォームで入力した値を各シートに書き込む (2)各シートに書かれたデータを集計する (1)であれば「各シートに入力フォームがあります」は少し変です。フォームを1つだけ作成して、入力された値によってシートを振り分ける方が一般的だと思います。ただし質問内容だけでは情報が足りないので、マクロを書くのは難しいです。(フォーム系VBAは特に文章での説明は難しいですね) (2)は関数で集計する方が楽だと思います。シートの形式によっては統合機能も利用できるかもしれません。もしVBAで集計したいなら、どんなシートかを説明いただかないと、回答のしようがありません。 VBAの経験が全く無く、いきなりフォームを使ったデータエントリ、集計を使用というのは少々敷居が高いかもしれませんよ
- Nayuta_X
- ベストアンサー率46% (240/511)
各シート(31のシートがあります)に入力フォームがあるのですか??。 (^0_0^)ビックリ!? それぞれの入力フォームに違いは、あるのですか?。 推測するに、1ヶ月分のデータを1つのBookにまとめたい と考えているのでは、??。だから 31のシートが、必要になった。 シート数をそんなに多くすると後で問題が、出そうです。(エクセルの仕様上の問題 PCの環境などによって シート数に制限が、発生します。) コードをどのように書くか、に入る前に もう少し やりたいことを整理しましょう。 その為には、もっと 具体的に やりたいことを列挙(箇条書きでも良い)して ください。 各シートの違いも含めてね。
補足
ありがとうございます。補足させていただきます。 ご推測の通りで、1ヶ月分のシートで内容はすべて同じです。 そのシート中で数値は串刺し計算で集計できるのですが、備考のような文字列も日付順に1つの集計シートにまとめたいのです。 ・集計シートには日付順で備考を並べたい ・備考がない時は日付をとばしたい ・シートに上からつめて集計したい VBAを使わなくても出来る方法があったらご教授お願いします。 入力フォームにあこがれて何とかならないかなと思い質問させて 頂きましたが、まだ早かったかな~~。