|
ひとまず、With文 と オブジェクト変数(Worksheet)を使ってみました。
Sub sample()
Dim 資材 As Single, 工作 As Single, 設計 As Single
Dim 生産設計 As Single, その他 As Single
Dim ws1 As Worksheet, ws2 As Worksheet
'シートをオブジェクト変数に格納
Set ws1 = Worksheets("品質会議 実績グラフ")
Set ws2 = Worksheets("工作品質会議資料")
'計算式(小数点第二位切り上げ)
With Application.WorksheetFunction
資材 = .RoundUp((ws1.Range("B50") * 1000) / 1000000, 1)
工作 = .RoundUp((ws1.Range("B51") * 1000) / 1000000, 1)
設計 = .RoundUp((ws1.Range("B52") * 1000) / 1000000, 1)
生産設計 = .RoundUp((ws1.Range("B53") * 1000) / 1000000, 1)
その他 = .RoundUp((ws1.Range("B54") * 1000) / 1000000, 1)
End With
'出力
Select Case Worksheets(5).Range("I1").Value
Case "4月"
With ws1
.Range("C7").Value = 資材
.Range("C8").Value = 工作
.Range("C9").Value = 設計
.Range("C10").Value = 生産設計
.Range("C11").Value = その他
.Range("C13").Value = Sheets("品質会議 実績グラフ").Range("C12").Value
End With
With ws2
.Range("C5").Value = 資材
.Range("C6").Value = 工作
.Range("C7").Value = 設計
.Range("C8").Value = 生産設計
.Range("C9").Value = その他
.Range("C11").Value = Sheets("工作品質会議資料").Range("C10").Value
End With
Case "5月"
With ws1
.Range("D7").Value = 資材
.Range("D8").Value = 工作
.Range("D9").Value = 設計
.Range("D10").Value = 生産設計
.Range("D11").Value = その他
.Range("D13").Value = .Range("C13").Value + .Range("D12").Value
End With
With ws2
.Range("D5").Value = 資材
.Range("D6").Value = 工作
.Range("D7").Value = 設計
.Range("D8").Value = 生産設計
.Range("D9").Value = その他
.Range("D11").Value = .Range("C11").Value + .Range("D10").Value
End With
End Sub
|
|