++++++++++++++++++++++++++++―
Sub Macro1()
'
n = Cells(Rows.Count, "A").End(xlUp).Row
For i = 1 To n
Range("A" & i).Select
a = ActiveCell.Value
c = ActiveCell.Interior.ColorIndex
If c = 6 Then
s1 = s1 + a
End If
If c = 46 Then
s2 = s2 + a
End If
If c = 38 Then
s3 = s3 + a
End If
Next i
Range("F2").Select
ActiveCell.FormulaR1C1 = s1
Range("F3").Select
ActiveCell.FormulaR1C1 = s2
Range("F4").Select
ActiveCell.FormulaR1C1 = s3
End Sub
Sub Macro2()
・
・
・
++++++++++++++++++++++++++++―
この Sub Macro1 の前半の部分( Next i の行まで)が、色別のセル合計値
の足し合わせを行なう計算部分で、その後の後半部分が、その計算した合計
値を表示させる部分です。
これは、前回までに完成させたマクロプログラムですが、ここではまだ1列
(A列)の合計値だけを計算するものになっています。
2)
それでは、このプログラムにちょっと手を加えて拡張してみます。
――――――――――――――――――――――――――――+
1.まず、その Macro1 の前半の計算部分の以下の15行
n = Cells(Rows.Count, "A").End(xlUp).Row
For i = 1 To n
Range("A" & i).Select
a = ActiveCell.Value
c = ActiveCell.Interior.ColorIndex
If c = 6 Then
s1 = s1 + a
End If
If c = 46 Then
s2 = s2 + a
End If
If c = 38 Then
s3 = s3 + a
End If
Next i
をコピーして、すぐその下にそのままそっくり貼り付けを行なって
ください。
2.次に、いま貼り付けた方の1行目の
n = Cells(Rows.Count, "A").End(xlUp).Row
の "A" という部分を "B" に修正します。( A → B にするだけです。)
3.最後に、同様にいま貼り付けた方の3行目の
Range("A" & i).Select
の "A" という部分も "B" に修正します。
――――――――――――――――――――――――――――+
修正した後のプログラムはつぎの様になります。
++++++++++++++++++++++++++++―
Sub Macro1()
'
n = Cells(Rows.Count, "A").End(xlUp).Row
For i = 1 To n
Range("A" & i).Select
a = ActiveCell.Value
c = ActiveCell.Interior.ColorIndex
If c = 6 Then
s1 = s1 + a
End If
If c = 46 Then
s2 = s2 + a
End If
If c = 38 Then
s3 = s3 + a
End If
Next i
n = Cells(Rows.Count, "B").End(xlUp).Row
For i = 1 To n
Range("B" & i).Select
a = ActiveCell.Value
c = ActiveCell.Interior.ColorIndex
If c = 6 Then
s1 = s1 + a
End If
If c = 46 Then
s2 = s2 + a
End If
If c = 38 Then
s3 = s3 + a
End If
Next i
Range("F2").Select
ActiveCell.FormulaR1C1 = s1
Range("F3").Select
ActiveCell.FormulaR1C1 = s2
Range("F4").Select
ActiveCell.FormulaR1C1 = s3
End Sub
++++++++++++++++++++++++++++―