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

コメント紹介
   └ エクセルマクロ・VBA基礎編フォローアップ ベーシック
       └ 表を解析して1行のリストを作る、1行のリストを解析して表にする(その2)

表を解析して1行のリストを作る、1行のリストを解析して表にする(その2)

[5041] 2015-09-11 23:03:41 鈴木優子さんからの投稿です。

G列に書きだすのは、hidaを調べていくときだなと思って、if文の中にいれませんでした。
書き出すタイミングが動画と違ったので、For Next構文の始まった直後と終わった後に特別な仕掛けをつくる仕組みがなくてもテストしてたら思い通りに動いていました。
今回はうまくいったけれど、初回処理と最後の処理を気をつけるというのは よく出てきそうなので、しっかり覚えようと思います!

Sub seikei()
    Dim hida
    Dim migi
    Dim tiku
    migi = 2
    For hida = 2 To 27
        If Range("A" & hida).Value <> Range("A" & hida - 1).Value Then
            Range("E" & migi).Value = Range("A" & hida).Value
            Range("F" & migi).Value = Range("B" & hida).Value
            migi = migi + 1
            tiku = ""
        End If
        tiku = tiku & "," & Range("C" & hida).Value & "地区"
        Range("G" & migi - 1).Value = Mid(tiku, 2)
    Next
End Sub

 


[5058] 2015-09-17 10:52:57 小川慶一さんからの投稿です。

鈴木優子 さん:

まずは動けばOKです。
ですが、これだと、書き出しを実行する回数が見本より多いですね。

>G列に書きだすのは、hidaを調べていくときだなと思って、if文の中にいれませんでした。
>書き出すタイミングが動画と違ったので、For Next構文の始まった直後と終わった後に特別な仕掛けをつくる仕組みがなくてもテストしてたら思い通りに動いていました。
>今回はうまくいったけれど、初回処理と最後の処理を気をつけるというのは よく出てきそうなので、しっかり覚えようと思います!
>
>
>Sub seikei()
>    Dim hida
>    Dim migi
>    Dim tiku
>    migi = 2
>    For hida = 2 To 27
>        If Range("A" & hida).Value <> Range("A" & hida - 1).Value Then
>            Range("E" & migi).Value = Range("A" & hida).Value
>            Range("F" & migi).Value = Range("B" & hida).Value
>            migi = migi + 1
>            tiku = ""
>        End If
>        tiku = tiku & "," & Range("C" & hida).Value & "地区"
>        Range("G" & migi - 1).Value = Mid(tiku, 2)
>    Next
>End Sub
>

 


[5553] 2016-01-10 21:14:59 受講生さんからの投稿です。

小川先生

>まずは動けばOKです。
>ですが、これだと、書き出しを実行する回数が見本より多いですね。
とのことですので、修正してみました。

Sub seikei()
    Dim hida
    Dim migi
    Dim tiku
    migi = 2
    For hida = 2 To 27
        If Range("A" & hida).Value <> Range("A" & hida - 1).Value Then
            Range("E" & migi).Value = Range("A" & hida).Value
            Range("F" & migi).Value = Range("B" & hida).Value
            migi = migi + 1
            tiku = ""
        End If
        tiku = tiku & "," & Range("C" & hida).Value & "地区"
        If Range("A" & hida).Value <> Range("A" & hida + 1).Value Then  'If文を追加しました
            Range("G" & migi - 1).Value = Mid(tiku, 2)
        End If
    Next
End Sub


>鈴木優子 さん:
>
>まずは動けばOKです。
>ですが、これだと、書き出しを実行する回数が見本より多いですね。
>
>>G列に書きだすのは、hidaを調べていくときだなと思って、if文の中にいれませんでした。
>>書き出すタイミングが動画と違ったので、For Next構文の始まった直後と終わった後に特別な仕掛けをつくる仕組みがなくてもテストしてたら思い通りに動いていました。
>>今回はうまくいったけれど、初回処理と最後の処理を気をつけるというのは よく出てきそうなので、しっかり覚えようと思います!
>>
>>
>>Sub seikei()
>>    Dim hida
>>    Dim migi
>>    Dim tiku
>>    migi = 2
>>    For hida = 2 To 27
>>        If Range("A" & hida).Value <> Range("A" & hida - 1).Value Then
>>            Range("E" & migi).Value = Range("A" & hida).Value
>>            Range("F" & migi).Value = Range("B" & hida).Value
>>            migi = migi + 1
>>            tiku = ""
>>        End If
>>        tiku = tiku & "," & Range("C" & hida).Value & "地区"
>>        Range("G" & migi - 1).Value = Mid(tiku, 2)
>>    Next
>>End Sub
>>

>

 


[5568] 2016-01-11 12:58:18 小川慶一さんからの投稿です。

受講生 さん:

あとは、誰にとってよいプログラムか?という問いによって最適なコードかどうかの答えが変わるレベルかと思います。

参考「[質問] 同じ機能を実現するマクロの書き方が複数ある場合、どの書き方が良いか分からなくて迷います。」
http://www.exvba.com/blog/?p=4378


>小川先生
>
>>まずは動けばOKです。
>>ですが、これだと、書き出しを実行する回数が見本より多いですね。
>とのことですので、修正してみました。
>
>
>Sub seikei()
>    Dim hida
>    Dim migi
>    Dim tiku
>    migi = 2
>    For hida = 2 To 27
>        If Range("A" & hida).Value <> Range("A" & hida - 1).Value Then
>            Range("E" & migi).Value = Range("A" & hida).Value
>            Range("F" & migi).Value = Range("B" & hida).Value
>            migi = migi + 1
>            tiku = ""
>        End If
>        tiku = tiku & "," & Range("C" & hida).Value & "地区"
>        If Range("A" & hida).Value <> Range("A" & hida + 1).Value Then  'If文を追加しました
>            Range("G" & migi - 1).Value = Mid(tiku, 2)
>        End If
>    Next
>End Sub
>

 


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

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

トップへ