|    | 
     ▼初心者A さん: 
 
う・・・ん・・・ 
 
データ、なにも A1 をさんしょうしなくても、じどうはんていはできるんですが 
まぁ、A1 がデータ数だとしましょう。 
>▼β さん: 
>>▼初心者A さん: 
 
う〜ん・・・・ 
 
データ件数は 何も A1 を参照しなくても自動把握は可能ですが、 
まぁ、A1 がデータ件数だとしましょう。 
 
質問しているのは、 
 
アップしたコードを実行して、どんな不具合があったのですか 
 
ということです。 
 
まぁ、ループの最初で実行時エラーになったんだと思いますが。 
 
マクロ内で、セルに数式を入れる場合、その数式は、セルに入力するまんまの文字列を 
" で囲んで指定します。 
 
セットすべき数式は、たとえば =SUM(C1:G1) という文字列ですよね。 
 
"=SUM(Cells(" & i + 2 & ",1):Cells(" & i + 2 & ",7))" 
 
これでは、たとえば 
 
=SUM(Cells(3,1):Cells(3,7)) 
 
こんな数式文字列になります。なので、エクセルは、こんな名前、知らないよ! 
ということで #NAME? と表示してますよね。 
このエラー値になっているセルのValue を参照しようとすると実行時エラーになります。 
 
もし数式を入れるなら 
 
Cells(i, 2).Formula = "=SUM(C" & i & ":G" & i & ")" 
 
ですね。 
 
数式を入れず、VBA内でワークシート関数のSUMを使って合計した値をB列にセットすることも 
もちろんできますが。 
 
しかし、比べる数字が、6 になったり 8 になったりするのでしょ? 
そのたびにマクロを修正するのですか? 
 
コメントしたように、データ件数は自動で把握できますので、むしろ A1 には  
比べる数字をいれ、それを使ったほうがよろしいのでは? 
 | 
     
    
   |