|
アイエネスさん、range指定の仕方までご教授して下さって、ありがとうございます。おかげさまで、思うような結果が得られました。
今回の質問ですが、select caseの処理の書き方についてです。当月分の集計明細シートからグラフ作成用の別シートの所定の位置へ値を出力させる処理を作りたいと思っています。とりあえず、こんな感じでコードを書いてみました。
Dim 資材 As Single
Dim 工作 As Single
Dim 設計 As Single
Dim 生産設計 As Single
Dim その他 As Single
'計算式(小数点第二位切り上げ)
資材 = Application.WorksheetFunction.RoundUp((Sheets("品質会議 実績グラフ").Range("B50") * 1000) / 1000000, 1)
工作 = Application.WorksheetFunction.RoundUp((Sheets("品質会議 実績グラフ").Range("B51") * 1000) / 1000000, 1)
設計 = Application.WorksheetFunction.RoundUp((Sheets("品質会議 実績グラフ").Range("B52") * 1000) / 1000000, 1)
生産設計 = Application.WorksheetFunction.RoundUp((Sheets("品質会議 実績グラフ").Range("B53") * 1000) / 1000000, 1)
その他 = Application.WorksheetFunction.RoundUp((Sheets("品質会議 実績グラフ").Range("B54") * 1000) / 1000000, 1)
'出力
Select Case Worksheets(5).Range("I1")
Case "4月"
Sheets("品質会議 実績グラフ").Range("C7").Value = 資材
Sheets("品質会議 実績グラフ").Range("C8").Value = 工作
Sheets("品質会議 実績グラフ").Range("C9").Value = 設計
Sheets("品質会議 実績グラフ").Range("C10").Value = 生産設計
Sheets("品質会議 実績グラフ").Range("C11").Value = その他
Sheets("品質会議 実績グラフ").Range("C13").Value = Sheets("品質会議 実績グラフ").Range("C12")
Sheets("工作品質会議資料").Range("C5").Value = 資材
Sheets("工作品質会議資料").Range("C6").Value = 工作
Sheets("工作品質会議資料").Range("C7").Value = 設計
Sheets("工作品質会議資料").Range("C8").Value = 生産設計
Sheets("工作品質会議資料").Range("C9").Value = その他
Sheets("工作品質会議資料").Range("C11").Value = Sheets("工作品質会議資料").Range("C10")
Case "5月"
Sheets("品質会議 実績グラフ").Range("D7").Value = 資材
Sheets("品質会議 実績グラフ").Range("D8").Value = 工作
Sheets("品質会議 実績グラフ").Range("D9").Value = 設計
Sheets("品質会議 実績グラフ").Range("D10").Value = 生産設計
Sheets("品質会議 実績グラフ").Range("D11").Value = その他
Sheets("品質会議 実績グラフ").Range("D13").Value = Sheets("品質会議 実績グラフ").Range("C13").Value + Sheets("品質会議 実績グラフ").Range("D12").Value
Sheets("工作品質会議資料").Range("D5").Value = 資材
Sheets("工作品質会議資料").Range("D6").Value = 工作
Sheets("工作品質会議資料").Range("D7").Value = 設計
Sheets("工作品質会議資料").Range("D8").Value = 生産設計
Sheets("工作品質会議資料").Range("D9").Value = その他
Sheets("工作品質会議資料").Range("D11").Value = Sheets("工作品質会議資料").Range("C11").Value + Sheets("工作品質会議資料").Range("D10").Value
・
・
・
以下翌3月分まで
思うように動いてはくれるのですが、かなり長くなるので、後々に分かりづらいように思います。出力先が隣のセルに移っていくだけで、内容は同じですので、もっと短い記述で済むような方法はあるのでしょうか?ぜひご教示ください。
|
|