[code]Sub rensyu1() Dim goukei Dim gyo Dim migi Dim hida Dim syoukei For gyo = 4 To 9 syoukei = 0 For migi = 4 To 10 If Range("I" & migi).Value = Range("B" & gyo).Value Then syoukei = syoukei + Range("J" & migi).Value goukei = goukei + Range("J" & migi).Value End If Range("D" & gyo).Value = syoukei Range("E" & gyo).Value = Range("C" & gyo).Value + syoukei Next Next Range("D10").Value = goukei Range("E10").Value = Range("C10").Value + goukei End Sub[/code]
受講生さんの投稿
(投稿ID: 3176)
下記の記載したprogramと回答のプログラムが、違うことによって不都合が生じることになるのでしょうか?
下記に記載したプロフラムはループの後に出力先を記載せずに、IF文後に
記載しています。実行した場合、回答と同じ値が導いていますが、回答のように、ループ後の出力先を記載することが、いいのでしょうか。
記載したprogramのgoukei の場合は、最終のループ後に記載しています。
そのあたりのことについて、わかりませんでしたので、宜しくお願いします。
[code]Sub rensyu1()
Dim goukei
Dim gyo
Dim migi
Dim hida
Dim syoukei
For gyo = 4 To 9
syoukei = 0
For migi = 4 To 10
If Range("I" & migi).Value = Range("B" & gyo).Value Then
syoukei = syoukei + Range("J" & migi).Value
goukei = goukei + Range("J" & migi).Value
End If
Range("D" & gyo).Value = syoukei
Range("E" & gyo).Value = Range("C" & gyo).Value + syoukei
Next
Next
Range("D10").Value = goukei
Range("E10").Value = Range("C10").Value + goukei
End Sub[/code]
小川慶一さんのコメント
(コメントID: 4624)
以下の件にポイントを絞って回答します。
> 記載しています。実行した場合、回答と同じ値が導いていますが、回答のように、ループ後の出力先を記載することが、いいのでしょうか。
こびとちゃんになったつもりで手作業してみてください。
どっちのほうがこびとちゃんにとって面倒くさいか(=よりプログラムの実行に負荷がかかるか)、痛感できると思います。
> 記載したprogramのgoukei の場合は、最終のループ後に記載しています。
↑これは、何を言いたいのか、いただいたご質問からは理解できませんでした。改めてご質問いただけますか。
よろしく、お願いいたします。