Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


70171 / 76732 ←次へ | 前へ→

【11072】もっとコンパクトにしたいのですが…
質問  みぃこ E-MAIL  - 04/2/27(金) 9:21 -

引用なし
パスワード
   アイエネスさん、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月分まで

思うように動いてはくれるのですが、かなり長くなるので、後々に分かりづらいように思います。出力先が隣のセルに移っていくだけで、内容は同じですので、もっと短い記述で済むような方法はあるのでしょうか?ぜひご教示ください。

1 hits

【11072】もっとコンパクトにしたいのですが… みぃこ 04/2/27(金) 9:21 質問
【11073】Re:もっとコンパクトにしたいのですが… IROC 04/2/27(金) 10:13 回答
【11075】Re:もっとコンパクトにしたいのですが… Asaki 04/2/27(金) 10:46 回答
【11081】Re:もっとコンパクトにしたいのですが… IROC 04/2/27(金) 13:47 回答
【11095】Re:もっとコンパクトにしたいのですが… Hirofumi 04/2/27(金) 23:20 回答
【11094】Re:もっとコンパクトにしたいのですが… アイエネス 04/2/27(金) 23:17 回答
【11153】Re:驚きました みぃこ 04/3/1(月) 15:26 お礼
【11270】ご報告 みぃこ 04/3/4(木) 14:08 発言
【11271】Re:ご報告 IROC 04/3/4(木) 14:34 回答
【11272】Re:ご報告 みぃこ 04/3/4(木) 14:57 お礼
【11389】Re:ご報告・その2 みぃこ 04/3/8(月) 14:13 お礼

70171 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free