エクセルマクロ オンライン講座コメント紹介

コメント紹介
   └ エクセルマクロ・VBA基礎編フォローアップ ベーシック
       └ 出現回数を数える。CountIf関数がやっていることをマクロで書くと?

出現回数を数える。CountIf関数がやっていることをマクロで書くと?

[3772] 2015-02-08 11:13:15 受講生さんからの投稿です。

こんにちは。
最初に自力でやった時は、For~Next構文を1回しか使わずにやりました。
Sub count2()
Dim siso
Dim drink
Dim kanpyo
Dim gyo

    For gyo = 4 To 33
        If Range("C" & gyo).Value = Range("E4").Value Then
            siso = siso + 1
            
        ElseIf Range("C" & gyo).Value = "Range("E5").Value Then
            drink = drink + 1
            
        ElseIf Range("C" & gyo).Value = Range("E6").Value Then
            kanpyo = kanpyo + 1
            
        End If

        Range("F4").Value = siso
        Range("F5").Value = drink
        Range("F6").Value = kanpyo
    Next
   
End Sub


最初に解説動画を拝見した時は、
「For~Next構文の中に、さらにFor~Next構文が入ると言うことだろか?」
と考えました。
そこで、migiとgyoの値に注目しながら、紙に書いてみて確認しました。
最初は、migi=4、gyo=4からスタートし、gyoの1回目のループが終わった地点では、migi= 4、gyo= 33で、
次にRange("F" & migi).Value = goukeiをした後、migi=5となり、migiの1回目のループが終わり、
2回目のループは、migi=5、gyo=4から始まるのだと確認しました。
何だか、すごく手間のかかることをしていますね(^_^;)

 


[3779] 2015-02-08 23:58:48 小川慶一さんからの投稿です。

匿名 さん:

>そこで、migiとgyoの値に注目しながら、紙に書いてみて確認しました。

すばらしい!

>最初に自力でやった時は、For~Next構文を1回しか使わずにやりました。

自力でできたならかなりのものです ヾ(´ー`)ノ

>何だか、すごく手間のかかることをしていますね(^_^;)

そういう努力をしてから見本を見ると、また学びが深まりますよね。

For gyo = 4 To 33
	...
	...
	...
Next


の部分は一回きりで、ということでしたら、もっとエレガントな方法を発展1で学べます。
発展2では、さらにエレガントな方法を学べます。お楽しみに☆




>こんにちは。
>最初に自力でやった時は、For~Next構文を1回しか使わずにやりました。
>
>Sub count2()
>Dim siso
>Dim drink
>Dim kanpyo
>Dim gyo
>
>    For gyo = 4 To 33
>        If Range("C" & gyo).Value = Range("E4").Value Then
>            siso = siso + 1
>            
>        ElseIf Range("C" & gyo).Value = "Range("E5").Value Then
>            drink = drink + 1
>            
>        ElseIf Range("C" & gyo).Value = Range("E6").Value Then
>            kanpyo = kanpyo + 1
>            
>        End If
>
>        Range("F4").Value = siso
>        Range("F5").Value = drink
>        Range("F6").Value = kanpyo
>    Next
>   
>End Sub
>

>
>最初に解説動画を拝見した時は、
>「For~Next構文の中に、さらにFor~Next構文が入ると言うことだろか?」
>と考えました。
>そこで、migiとgyoの値に注目しながら、紙に書いてみて確認しました。
>最初は、migi=4、gyo=4からスタートし、gyoの1回目のループが終わった地点では、migi= 4、gyo= 33で、
>次にRange("F" & migi).Value = goukeiをした後、migi=5となり、migiの1回目のループが終わり、
>2回目のループは、migi=5、gyo=4から始まるのだと確認しました。
>何だか、すごく手間のかかることをしていますね(^_^;)

 


まずはここから!スマホでも学べる無料動画講座

今なら先着30名限定で無料!定価4,800円の、初心者のためのエクセルマクロ動画講座。
  1. Excel 97~Excel 2016まですべて対応。動画本数20本、総再生時間2時間44分53秒
  2. PC, Mac, iPhone, iPad, Androidのお好みの環境で、いつでも好きなときに学べます。
2004年から10年間述べ3,000名以上に実施した研修の経験と実績を集約した講座です。
いますぐ無料で試してください。

トップへ