お世話になっています。一つ聞きたいことがあります。 下記のように、 Range("D" & hida).Value = goukeiをfor next (migi)の構文内で実行すると、今月支払いのない成人祝いの欄は「空白」で表示されます。 構文外にこの式を置くと「0」と表示されるのですが、構文内に置くとなぜ「空白」になってしまうのでしょうか。 [code]Sub rensyu3() Dim goukei Dim migi Dim hida For hida = 4 To 9 goukei = 0 For migi = 4 To 10
If Range("I" & migi).Value = Range("B" & hida).Value Then goukei = goukei + Range("J" & migi).Value Range("D" & hida).Value = goukei End If Next Next End Sub[/code
Sub rensyu3()
> Dim goukei
> Dim migi
> Dim hida
> For hida = 4 To 9
> goukei = 0
> For migi = 4 To 10
>
> If Range("I" & migi).Value = Range("B" & hida).Value Then
> goukei = goukei + Range("J" & migi).Value
> Range("D" & hida).Value = goukei
> End If
> Next
> Next
>End Sub
Sub rensyu3()
> Dim goukei
> Dim migi
> Dim hida
> For hida = 4 To 9
> goukei = 0
> For migi = 4 To 10
>
> If Range("I" & migi).Value = Range("B" & hida).Value Then
> goukei = goukei + Range("J" & migi).Value
> Range("D" & hida).Value = goukei
> End If
> Next
> Next
>End Sub
>
Sub rensyu3()
> Dim goukei
> Dim migi
> Dim hida
> For hida = 4 To 9
> goukei = 0
> For migi = 4 To 10
>
> If Range("I" & migi).Value = Range("B" & hida).Value Then
> goukei = goukei + Range("J" & migi).Value
> End If
> Next
Range("D" & hida).Value = goukei
> Next
>End Sub
Sub rensyu3()
>> Dim goukei
>> Dim migi
>> Dim hida
>> For hida = 4 To 9
>> goukei = 0
>> For migi = 4 To 10
>>
>> If Range("I" & migi).Value = Range("B" & hida).Value Then
>> goukei = goukei + Range("J" & migi).Value
>> Range("D" & hida).Value = goukei
>> End If
>> Next
>> Next
>>End Sub
> >>
Sub rensyu3()
>> Dim goukei
>> Dim migi
>> Dim hida
>> For hida = 4 To 9
>> goukei = 0
>> For migi = 4 To 10
>>
>> If Range("I" & migi).Value = Range("B" & hida).Value Then
>> goukei = goukei + Range("J" & migi).Value
>> End If
>> Next
> Range("D" & hida).Value = goukei
>> Next
>>End Sub
受講生さんの投稿
(投稿ID: 2741)
下記のように、 Range("D" & hida).Value = goukeiをfor next (migi)の構文内で実行すると、今月支払いのない成人祝いの欄は「空白」で表示されます。
構文外にこの式を置くと「0」と表示されるのですが、構文内に置くとなぜ「空白」になってしまうのでしょうか。
[code]Sub rensyu3()
Dim goukei
Dim migi
Dim hida
For hida = 4 To 9
goukei = 0
For migi = 4 To 10
If Range("I" & migi).Value = Range("B" & hida).Value Then
goukei = goukei + Range("J" & migi).Value
Range("D" & hida).Value = goukei
End If
Next
Next
End Sub[/code
ゲストさんのコメント
(コメントID: 4172)
比較できるように、まずは、両方の例を並べて投稿いただけますか。
>お世話になっています。一つ聞きたいことがあります。
>下記のように、 Range("D" & hida).Value = goukeiをfor next (migi)の構文内で実行すると、今月支払いのない成人祝いの欄は「空白」で表示されます。
>構文外にこの式を置くと「0」と表示されるのですが、構文内に置くとなぜ「空白」になってしまうのでしょうか。
>
受講生さんのコメント
(コメントID: 4173)
上のコードは「空白」になり、下のコードは「0」になります。
ご確認宜しくお願い致します。
>お世話になっています。一つ聞きたいことがあります。
>下記のように、 Range("D" & hida).Value = goukeiをfor next (migi)の構文内で実行すると、今月支払いのない成人祝いの欄は「空白」で表示されます。
>構文外にこの式を置くと「0」と表示されるのですが、構文内に置くとなぜ「空白」になってしまうのでしょうか。
>
>
ゲストさんのコメント
(コメントID: 4175)
結論を書くと、以下のとおりです。
・上のマクロでは、 hida = 6 のとき、一度も Range("D" & hida).Value = goukei が実行される
・下のマクロでは、 hida の値に関わらず、 Range("D" & hida).Value = goukei は必ず一度実行される
まずはそのくらいで。
ピンとこないようでしたら、じっくり動作確認を。上のマクロで、 hida = 6 のときの動きを、ステップインモードで慎重にレビューしてください。([F8] で実行)
>受講生 さん:
>
>上のコードは「空白」になり、下のコードは「0」になります。
>ご確認宜しくお願い致します。
>
>>お世話になっています。一つ聞きたいことがあります。
>>下記のように、 Range("D" & hida).Value = goukeiをfor next (migi)の構文内で実行すると、今月支払いのない成人祝いの欄は「空白」で表示されます。
>>構文外にこの式を置くと「0」と表示されるのですが、構文内に置くとなぜ「空白」になってしまうのでしょうか。
>>
>
>>
>