質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Q&A

解決済

1回答

2506閲覧

VBA 入力した項目を別シートで条件があった場所に出力する方法

dacchi2000

総合スコア27

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

0グッド

0クリップ

投稿2016/05/27 06:49

編集2016/05/27 08:09

###前提・実現したいこと
VBAで1ヶ月分の工数管理を作っています。
1枚目の画像で1日分の工数を入力し登録ボタン押下で2枚目の画像にある別シートに項目別かつ入力した日付に合致したセルにトータル時間を出力したいのですが、良いコードが思いつきません。どなたか助言をお願い致します。
###参考画像
イメージ説明
イメージ説明

###補足
大分類の項目数は4
中分類の項目数は分岐するようになっていますが、
トータル33
領域の項目数は3つあります。

2枚目の画像の左上に青く塗りつぶされた「その他」とありますが、
左上の「その他」が大分類にあたり、これとは別のシートが3つあります。
他のシートの中身は項目名が違うだけであって、基本的な中身は一緒です。ただし2枚目の画像にあるように1つの項目に「マネジメント」、「リーダ」、「オペレーション」と3つ項目がありますがこれはすべてのシートに共通であります。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

coco_bauer

2016/05/27 07:53

3つの引数(大分類、中分類、項目)から、出力先の行番号を出力する関数(若しくはDictionaryオブジェクト)を用意しておけば、それほど難しくはないように思われます。 2枚目の画像をみると「その他」(大分類の1種)が左上のほうに見えるので、別シートなるものが大分類ごとに1枚ずつ(合せて4枚のシート)なのかも知れないなど、具体的なイメージがつかめないですが。  もっと、詳しい説明をしたほうが良いです。
dacchi2000

2016/05/27 08:10

ありがとうございます。 おっしゃる通り詳しい説明があまりなかったので追記しました。 Dictionaryオブジェクト等で少し考えてみます。
guest

回答1

0

ベストアンサー

概略説明になりますが・・・
中分類と小分類につき、2次元配列
DIM 分類(33,3)
にトータル時間をセットします。

名刺データ作成のマネジメントは、分類(1,1)
名刺データ作成のリーダーは、分類(1,2)

2枚目以降の別シートには
名刺データ作成のマネジメント、1日の登録セルが6行5列目だとすると

n= 6 to (33×3)項目+5
cell(n,選択日+4) = 分類(n/3の商-1, n/3の余り+1)
next

これで分類(1,1)(1,2)(1,3)(2,1)(2,2)(2,3)・・・
となると思います。

他に便利なコマンドなどがあるかもしれませんが、わからないので古典的な方法で式を作ってみました。

投稿2016/06/10 10:42

GTN

総合スコア24

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

dacchi2000

2016/06/13 00:39

ありがとうございます! 一応別の形(select case文)で作成したのですが上記の物でも作成してみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問