質問: RGB(255, 255, 0) End If End Function ### 試したこと 試して見るもののうまく行かず。。。 ### 補足情報(言語/FW/ツール等のバージョンなど) より詳細な
回答: 処理の流れを1行ずつ追っていくとわかりますが、問題はC列に入力している値が常に`(前行のB列の値)+(今回行のB列の値)`となっていることです。 今回行いたいことはA列に同じ値が続く限り累計していく計算だと思いますが、これでは直近2行の合計しか計算できません。 また`A列が連続していないときにC列が出力されていない`という問題もあるようです。 というわけで、改修点は以下になります。 1A列が前行と異なる場合、C列には今回行のB列の値を出力する。 2A列が前行と同じ場合、前行のC列の値(累積値)に今回行のB列の値を加算してC列に出力する。 3A列が前行と同じ場合、前行のC列の値を空にする。 以上です。 コードの改修箇所は、 ``` If n_row_value = p_row_value Then If flg = 0 Then color = (color + 1) Mod 2 s_row = row - 1 End If flg = 1 'Cells(row, 3) = Cells(row - 1, 2) + Cells(row, 2) Cells(row, 3) = Cells(row - 1, 3) + Cells(row, 2) '前行のC列の値に今回行B列の値を加算する Cells(row - 1, 3) = "" '前行のC列の値はクリアする Cells(row - 1, 1).Interior.color = f_color(color) Cells(row, 1).Interior.color = f_color(color) Else flg = 0 Cells(row, 3) = Cells(row, 2) '前行A列の値と異なる場合、今回行B列の値をC列に出力する End If ``` というかんじになります。 処理の流れをひとつずつ整理して追っていけば、思い通りいかない原因が見えてきます。 デバッグ機能などを活用してコードの問題点を読み取れるよう、がんばってください。