複数の表の間でのマッチング。VLookUp関数がやっていることをマクロで書くと?

演習問題テーマ:複数の表の間でのマッチング。VLookUp関数がやっていることをマクロで書くと?

マッチングの基本パターン。

2つの表があるのでそれぞれの表に対応する変数をつくることが基本です。ひとつひとつていねいに、まず左の表のIDとマッチするところに右の情報をもってくる仕組み、次に右の表の情報を順番に全部調べる仕組みをつくります。

Ctrl+Zでマクロの状態を戻す習慣をつけてください。

この講座を含む定額コースに参加するか、この講座を購入することで、講座を利用できるようになります。
定額コースに参加すると、そのコースの利用期間中はいつでも講座を利用できます。
講座を購入すると、いつでも講座を利用できます。

この講座を含む定額コースや購入の詳細については、講座トップページの「利用方法」を御覧ください。

学習記録としてメモを残す

完全に理解できた
まあまあ理解できた
ふつう
あまり理解できてない
さっぱり分からない

※メモを残すにはこの講座の利用権限が必要です。

質問や感想を投稿する

とても満足 満足 普通 不満 とても不満

ユーザ名を使う ニックネームを使う 匿名で投稿

※投稿に必要な権限がありません。

このページへの投稿/コメント

投稿ID: 5206 Mさんの投稿
2:40のところで動画がストップしてしまいます。何度か試しましたが同様の現象で、それより先にカーソルを当てた場合は動画の最初に戻ってしまう状態です。
投稿日時: 2021年11月04日 14時11分14秒
コメントID: 7374 小川慶一さんからのお返事
こんにちは。

念のため動作確認してみましたが、手元の環境では、問題は再現しませんでした。
おそらく、一時的に通信状態が悪いときがあり、そのときにお使いのブラウザが動画の読み込みに失敗してしまったのだろうと思います。

以下のいずかを試してみていただけますでしょうか。
・別のブラウザでログインしてこのページの動画の再生を試してみる
・別の端末でログインしてこのページの動画の再生を試してみる

なお、しばらく時間を置いてからあれば、同じブラウザで試してもうまくいくものと思います。
それでもだめな場合は、キャッシュをクリアしてから再度試してみてください。

よろしくお願いいたします。
コメント日時: 2021年11月04日 15時15分11秒
コメントID: 7375 Mさんからのお返事
小川先生 時間を置いて再度再生してみたところ問題なく動作しました。お騒がせ致しました。
コメント日時: 2021年11月04日 17時15分41秒
投稿ID: 4754 さざなみさんの投稿
質問です。同じシート内のG列にある氏名と同じ氏名をA列から探し、一致した氏名を別シートに転記、B列(郵便番号)、C列(住所)も転記するものを考えています。しかし、1行目しか転記できず、次を検索して同様に転記するマクロがうまくできません。どのように作成したらいいでしょうか?
'シート2のG列の値がA列と一致した氏名と郵便番号B列・住所C列をシート5へ転記
Sub tenki()
Dim hida
Dim migi
migi = 3
For hida = 2 To 20
If Worksheets("Sheet2").Range("A" & hida).Value = Worksheets("Sheet2").Range("G" & hida).Value Then
Worksheets("Sheet5").Range("B" & migi).Value = Worksheets("Sheet2").Range("A" & hida).Value
Worksheets("Sheet5").Range("C" & migi).Value = Worksheets("Sheet2").Range("B" & hida).Value
Worksheets("Sheet5").Range("D" & migi).Value=Worksheets("Sheet2").Range("C" & hida).Value
migi = migi + 1
End If
Next
End Sub

投稿日時: 2020年06月08日 06時59分49秒
コメントID: 6643 小川慶一さんからのお返事
さざなみさん:

こんばんは。

If Worksheets("Sheet2").Range("A" & hida).Value = Worksheets("Sheet2").Range("G" & hida).Value Then

この条件だと、A列とG列の値が一致した行の中身しか転記しませんね。

では、どのようにすれば、「G列にある氏名と同じ氏名をA列から探す」ことができるか?
それについては、このページの課題を参考にしてください。

また、転記については、以下の課題を参考にしてください。

○条件に一致するデータを別表に転記する。AutoFilterより便利な条件抽出マクロ。
https://forum.pc5bai.com/lesson/page/144


最低でも、以下の3つの変数が必要です。
A列の行を指定する変数
G列の行を指定する変数
転記先の行を指定する変数

このページの課題でも解説したとおり、最低でも、以下の2つのFor Next構文が必要です。
(内側にくるものから示します。G列もA列も2行目以降に調査対象のデータがあるものとします)

A列各行の値をG2の値と比較する
G列各行に対して同様の処理を行う


このヒントでピンとこないようでしたら、このページでの演習が不足しています。
連続で5回くらい解いてください。遅くとも1回あたり所要時間が6分を切るところまで。
それからもう一度このヒントを読み返して、そして再トライしてみてください。

この過程で挫折した場合は、どんな努力をしてどう挫折をしたのか?を示していただければ、次のヒント(あるいはワークなり、解答例なり)を出します。

コメント日時: 2020年06月08日 07時37分43秒
コメントID: 6644 受講生さんからのお返事
さっそくに返信ありがとうございます!もっと演習してできるようになりたいと思います!For next とIfが、複数作っているうちにハマってしまい・・・偶然うまくすべて転記できたと思ったらまた作り直しと2日くらい悩んでしまいました。早く作り上げたいと焦ってました。もっと動画を見てたくさんマクロ書いてすっとわかるようにがんばります。

小川慶一さん:

> さざなみさん:
>
> こんばんは。
>
> If Worksheets("Sheet2").Range("A" & hida).Value = Worksheets("Sheet2").Range("G" & hida).Value Then
> ↑
> この条件だと、A列とG列の値が一致した行の中身しか転記しませんね。
>
> では、どのようにすれば、「G列にある氏名と同じ氏名をA列から探す」ことができるか?
> それについては、このページの課題を参考にしてください。
>
> また、転記については、以下の課題を参考にしてください。
>
> ○条件に一致するデータを別表に転記する。AutoFilterより便利な条件抽出マクロ。
> https://forum.pc5bai.com/lesson/page/144
>
>
> 最低でも、以下の3つの変数が必要です。
> A列の行を指定する変数
> G列の行を指定する変数
> 転記先の行を指定する変数
>
> このページの課題でも解説したとおり、最低でも、以下の2つのFor Next構文が必要です。
> (内側にくるものから示します。G列もA列も2行目以降に調査対象のデータがあるものとします)
>
> A列各行の値をG2の値と比較する
> G列各行に対して同様の処理を行う
>
>
> このヒントでピンとこないようでしたら、このページでの演習が不足しています。
> 連続で5回くらい解いてください。遅くとも1回あたり所要時間が6分を切るところまで。
> それからもう一度このヒントを読み返して、そして再トライしてみてください。
>
> この過程で挫折した場合は、どんな努力をしてどう挫折をしたのか?を示していただければ、次のヒント(あるいはワークなり、解答例なり)を出します。
>
>
コメント日時: 2020年06月08日 15時07分33秒
コメントID: 6645 小川慶一さんからのお返事
受講生 さん:

解決したい課題はいたってシンプルです。

[a]
G2セルにある値を使い、条件に一致するデータを見つける。そして何らかの処理をする。

G2:G20の範囲にある値を使って同様に処理を行う。

このページで紹介している課題と何が違うのかというと、「そして何らかの処理」の部分が、

[b]
「条件に一致した行に値を書き込む」
から
「条件に一致した行にあるデータを別シートに転記する」

に変わっただけです。

そして、[a], [b]のうち、さざなみさんは、[a]の部分でつまづかれています。
[b]に気を取られて[a]の処理をきちんと実装できなくなっているというのは、要は、[a]にかかる演習が不足しているということです。


「実務上の課題を解決する必要に迫られている」という状況は、上達のチャンスです。

> さっそくに返信ありがとうございます!もっと演習してできるようになりたいと思います!

ではなく、

> もっと動画を見てたくさんマクロ書いてすっとわかるようにがんばります。

ではなく、今目の前にある課題のために努力したほうがよいです。

先だっての投稿は、そういう意味でのアドバイスです。
「もっと動画を見る」のではなく、このページの演習をくり返して自分のものにしてください。
「もっと演習して」ではなく、この課題を解決するためのヒントを必死になって探すつもりで演習をくり返してださい。




コメント日時: 2020年06月08日 20時59分46秒
コメントID: 6648 さざなみさんからのお返事
こんばんは!今やっとできました。変数を誤解してることがわかりました。それから「条件に一致するデータを別表に転記する。AutoFilterより便利な条件抽出マクロ」の動画を見ながらks004のファイルの問題を2つ解きました。その後作ってみたらうまく動いてくれました。この問題集をもう少し解いてしっかり身につけたいと思います。ありがとうございました。
Sub tenki2()
Dim hida
Dim migi
Dim migii
migii = 3
For migi = 2 To 20
For hida = 2 To 20
If Worksheets("Sheet2").Range("G" & migi).Value = Worksheets("Sheet2").Range("A" & hida).Value Then
Worksheets("Sheet5").Range("B" & migii).Value = Worksheets("Sheet2").Range("A" & hida).Value
Worksheets("Sheet5").Range("C" & migii).Value = Worksheets("Sheet2").Range("B" & hida).Value
Worksheets("Sheet5").Range("D" & migii).Value = Worksheets("Sheet2").Range("C" & hida).Value

migii = migii + 1
End If
Next
Next

End Sub

小川慶一さん:

> 受講生 さん:
>
> 解決したい課題はいたってシンプルです。
>
> [a]
> G2セルにある値を使い、条件に一致するデータを見つける。そして何らかの処理をする。
> ↓
> G2:G20の範囲にある値を使って同様に処理を行う。
>
> このページで紹介している課題と何が違うのかというと、「そして何らかの処理」の部分が、
>
> [b]
> 「条件に一致した行に値を書き込む」
> から
> 「条件に一致した行にあるデータを別シートに転記する」
>
> に変わっただけです。
>
> そして、[a], [b]のうち、さざなみさんは、[a]の部分でつまづかれています。
> [b]に気を取られて[a]の処理をきちんと実装できなくなっているというのは、要は、[a]にかかる演習が不足しているということです。
>
>
> 「実務上の課題を解決する必要に迫られている」という状況は、上達のチャンスです。
>
> > さっそくに返信ありがとうございます!もっと演習してできるようになりたいと思います!
>
> ではなく、
>
> > もっと動画を見てたくさんマクロ書いてすっとわかるようにがんばります。
>
> ではなく、今目の前にある課題のために努力したほうがよいです。
>
> 先だっての投稿は、そういう意味でのアドバイスです。
> 「もっと動画を見る」のではなく、このページの演習をくり返して自分のものにしてください。
> 「もっと演習して」ではなく、この課題を解決するためのヒントを必死になって探すつもりで演習をくり返してださい。
>
>
>
>
>
コメント日時: 2020年06月09日 06時41分32秒
コメントID: 6649 小川慶一さんからのお返事
さざなみさん:

おお、できましたか!

自力でできると、また格別ですね。
良い経験になったかと思います (^^*

基礎編フォローアップペーシックで扱っているお題はどれもシンプルですが、組み合わせれば実務上のさまざまな課題を解決できます。
「自力で組み合わせできない」という場合は学んだはずのスキルがまだ手についていないということです。そういうときは、そういう意識で復習に取り組んでいただければと思います。

もちろん、このオリジナル課題も、

> 今やっとできました。

で終わらせないで、何度かくり返して解いて、自分の身体になじませてください。
すると、「さらにひと工夫」というようなものも作れるようになります。マクロの上達というのは、そういうステップのくり返しです (^^

コードについてひとつだけコメントすると、migi, migiiという2つの変数は名前が似すぎているのでどちらか変更したいですね。
たとえば、 migii のほうは、「tenkisaki」とか「saki」とかかな。

ではでは。
ひきつづき、学習お楽しみください☆
コメント日時: 2020年06月09日 07時36分05秒
投稿ID: 4670 受講生さんの投稿
vlookup関数を使わずにVBAで書くとこのようなことになることは理解できます。このVBAで書くと、一つずつ、はじめから検索することになると思いますが、検索したいデータが膨大(例えば1万件)になるとかなり時間がかかることになると思います。発展編を受講すれば、別のプログラムを使ってもっと速度を上げるような方法を学ぶことができますか。
投稿日時: 2020年04月20日 03時49分22秒
コメントID: 6475 小川慶一さんからのお返事
受講生 さん:

こんばんは。

> 発展編を受講すれば、別のプログラムを使ってもっと速度を上げるような方法を学ぶことができますか。

はい、そうです。

乱暴な例えですが、基礎編は、バイクに例えると原付のようなものです。
最低限のことを学び、とりあえず一般道を自由に走れるようになり、小回りを効かせて近所での用事はだいたいこなせるようになるというところまでです。

発展編1, 発展編2, 外部連携, と、次第により高速に処理できる手法を学んでいきます。


> vlookup関数を使わずにVBAで書くとこのようなことになることは理解できます。このVBAで書くと、一つずつ、はじめから検索することになると思いますが、検索したいデータが膨大(例えば1万件)になるとかなり時間がかかることになると思います。発展編を受講すれば、別のプログラムを使ってもっと速度を上げるような方法を学ぶことができますか。
コメント日時: 2020年04月20日 04時11分42秒
投稿ID: 4545 田中 宏明さんの投稿
ショートカットキーによるやり直し
 Alt→E→R
無意識に使えるよう練習します。
投稿日時: 2019年08月18日 04時07分53秒
コメントID: 6267 小川慶一さんからのお返事
田中 宏明さん:

手が勝手に動くようになったら勝ちです。

> ショートカットキーによるやり直し
>  Alt→E→R
> 無意識に使えるよう練習します。
コメント日時: 2019年08月19日 20時04分45秒
投稿ID: 3611 受講生さんの投稿
今回はさくっと解けました。
(昔の私も、さくっと解いていたようですが・・・(;´・ω・))
2つのForNextとif文を使いこなす点で
しそ巻きカウントの手法をマスターしたという実感が湧きました。

一つ気がついたのは、
ある目的値の該当が見つかったら、もう比較を続ける必要がないので
そのIF文を終わらせて、次の比較値に進むようにすれば
処理は速くなるだろうなということです。
今回は加算していく比較ではなく、ただ1つの該当値を見つけるための比較だからです。
(IF文を抜ける文法自体は忘れましたが、手法として思いつきましたので
書いてみました)
gooska
投稿日時: 2017年12月29日 00時03分21秒
コメントID: 5112 小川慶一さんからのお返事
受講生 さん:

順調なようでなにより☆

> 一つ気がついたのは、
> ある目的値の該当が見つかったら、もう比較を続ける必要がないので
> そのIF文を終わらせて、次の比較値に進むようにすれば
> 処理は速くなるだろうなということです。
> 今回は加算していく比較ではなく、ただ1つの該当値を見つけるための比較だからです。
> (IF文を抜ける文法自体は忘れましたが、手法として思いつきましたので書いてみました)

基礎編ではあえて紹介していませんが、 Exit For を使います。

for 1
    for 2
        if ... then
            処理
            exit for 'for 2 から抜ける(ので、for 1の次のカウンター値から再開)
        end if
    next 2
next 1
コメント日時: 2017年12月29日 02時03分04秒
投稿ID: 3606 ガラパゴスタディー吉川さんの投稿
今回のマクロは考えるより先にスムーズに書けました。
ForNext文については元々よく利用していましたが、
当時と違うことは、それほど頭で考えなくても書けることだと思います。
だいぶ体に染み込んできてくれているようです。
投稿日時: 2017年12月27日 02時11分29秒
コメントID: 5106 小川慶一さんからのお返事
吉川 裕子さん:

順調そうでなによりです。
ひきつづきお楽しみください!

コメント日時: 2017年12月27日 02時36分47秒
投稿ID: 3448 受講生さんの投稿
左の表と右の表の変数を作ることが基本
IDの一致は理解できた。
それをIF文で作る
投稿日時: 2017年09月25日 02時31分54秒
コメントID: 4915 小川慶一さんからのお返事
受講生 さん:

典型パターンです。
「できて当然!」と心の底から思えるようになるまで習熟してください。

> 左の表と右の表の変数を作ることが基本
> IDの一致は理解できた。
> それをIF文で作る
コメント日時: 2017年09月26日 01時12分24秒
投稿ID: 2742 受講生さんの投稿
お世話になっております。一つこの例題について伺いたいことがあります。
もし、キャンペーン応募が同じ人から複数件あったとして、左の表の同じセルに「、」を打って複数件足していくような場合を想定して下記のようなコードを書きました。
しかし、F5で実行を押すたびに左の票の数が足されていってしまいます。修正箇所としてどの点を直せばよろしいでしょうか。
ご教授宜しくお願い致します。
Sub sakusei()
    Dim hida
    Dim migi
    Dim goukei

    For migi = 11 To 23

        For hida = 4 To 29
        goukei = Range("C" & hida).Value
               
            If Range("E" & migi).Value = Range("A" & hida).Value Then
             goukei = goukei & "," & Range("F" & migi).Value
            End If
        Range("C" & hida) = goukei
        Next
    Next
End Sub
投稿日時: 2016年12月16日 01時58分29秒
コメントID: 4174 ゲストさんからのお返事
受講生 さん:

以下の動画くらいまでやってからまた相談いただければと。
表を解析して1行のリストを作る、1行のリストを解析して表にする、その1,その2
https://forum.pc5bai.com/lesson/page/157
https://forum.pc5bai.com/lesson/page/158



>お世話になっております。一つこの例題について伺いたいことがあります。
>もし、キャンペーン応募が同じ人から複数件あったとして、左の表の同じセルに「、」を打って複数件足していくような場合を想定して下記のようなコードを書きました。
>しかし、F5で実行を押すたびに左の票の数が足されていってしまいます。修正箇所としてどの点を直せばよろしいでしょうか。
>ご教授宜しくお願い致します。
コメント日時: 2016年12月16日 02時12分42秒
投稿ID: 2155 受講生さんの投稿
今回は自力で解けました。(*^▽^*) 考え方は既出問題と同じなので、
復習と理解度の確認になりました。
過去のコメントもできるだけ参考にしています。先輩ユーザーの皆様も、
今回はすいすいとけた方が多かったみたいですね(^▽^)/
最近は苦労して自主補習もしていたので、たまにさくっと行けると自信がついて、
嬉しいです!(≧▽≦)
私はまだ実務で試すことができないので、成果を実感されている方々が羨ましいです。
by gooska
投稿日時: 2016年03月27日 08時26分29秒
コメントID: 3541 ゲストさんからのお返事
受講生 さん:

この問題は、本来「やや難」なはずなんですけどね。
やはり、ここまでの問題を着実に解かれている方には簡単なようですね。(言い換えると、着実に力をおつけです、という)
コメント日時: 2016年03月28日 05時03分29秒
投稿ID: 763 受講生さんの投稿
小川先生
このケースでは、VLOOKUP関数を呼び出すことでもできますが、自分で仕組みを作った方が応用範囲が広いと思いました。
この仕組みを使えば、同一検索値で複数データを表示することも可能ですね(関数で同じことをやろうとし、苦労したことがあります)。
どちらもできるようになり、その場に応じて使い分けていきたいと思います。
投稿日時: 2014年10月02日 06時03分44秒
コメントID: 1651 ゲストさんからのお返事
匿名 さん:

> 自分で仕組みを作った方が応用範囲が広いと思いました。

地力もつきますね。
worksheetfunction.vlookup のような既成品を使うのもよいですが、この程度のアルゴリズムは自力で導けるようになっておくと、あとあと楽です。
(匿名さんはもうとっくにそんな域にいらっしゃいますが)

ウチは足腰鍛えること重視してますので、特に基礎編では、既成品はなるべく渡さず、超基本の道具だけでガシガシ構造文を書いて実装することを推奨していますw
コメント日時: 2014年10月02日 17時21分25秒
投稿ID: 402 受講生さんの投稿
これ、VLOOKUPですね。関数使うよりカンターン♪♪
12回目で、理解に少々時間がかかったのですが、
解ると、こっちは、すんごい簡単ですね。再生せずに出来ました。
面倒で嫌だった定型業務がまた1つ解決しました^^
投稿日時: 2014年07月20日 07時14分50秒
コメントID: 1205 小川慶一さんからのお返事
匿名 さん:

マッチングの基本パターンです。
これが分かれば、自由に応用できますね。応用の容易さも、VLOOKUP関数の比ではありません。

12回目について補足(?)すると、

For ...

Next

という構文セットのあとにループの中で調べた結果を書き出す、というのは、基本パターンです。
(「構造化プログラミング7つ道具」という僕のオリジナル教材があります。そこに書いています。いずれ折を見て紹介します。)

そういう意味では、「第10回」と「第12回」型は同じです。
https://forum.pc5bai.com/lesson/page/150

>これ、VLOOKUPですね。関数使うよりカンターン♪♪
>12回目で、理解に少々時間がかかったのですが、
>解ると、こっちは、すんごい簡単ですね。再生せずに出来ました。
>面倒で嫌だった定型業務がまた1つ解決しました^^
コメント日時: 2014年07月20日 15時38分24秒
コメントID: 1223 受講生さんからのお返事
>マッチングの基本パターンです。
>これが分かれば、自由に応用できますね。応用の容易さも、VLOOKUP関数の比ではありません。

実務で使用しました。
列の入れ替え、範囲選択不要、セル右下Wクリックするもブランクでストップというストレスも無し、
コピーして値貼り付けも不要で、条件を追加するのは自由とvlookup関数より、
楽に、早く、確実に処理が終わりました。ありがとうございます。

参考までに教えて頂きたいのですが、
こういう処理の場合、Cellsを使うと実行速度が速くなったりするのでしょうか。
多くても3列15000行程度なので、大した差は無いのでしょうが少し気になります。
コメント日時: 2014年07月23日 10時15分24秒
コメントID: 1225 小川慶一さんからのお返事
匿名 さん:

>実務で使用しました。
>列の入れ替え、範囲選択不要、セル右下Wクリックするもブランクでストップというストレスも無し、
>コピーして値貼り付けも不要で、条件を追加するのは自由とvlookup関数より、
>楽に、早く、確実に処理が終わりました。ありがとうございます。

いやー、たまらないですね (^^*

>参考までに教えて頂きたいのですが、
>こういう処理の場合、Cellsを使うと実行速度が速くなったりするのでしょうか。
>多くても3列15000行程度なので、大した差は無いのでしょうが少し気になります。

要は、頻繁にセルを探す作業がある場合ということでしょうか。

書いて実行して比べるのがいちばん早くて分かりやすいと思います。
僕もどっちのほうが早いかは多少興味ありますので、よかったら書いたプログラムと実行結果を教えてください。

僕は Cells はぜんぜん使わないのです。
プログラムを書くときには、 Range で書いたほうが直感的で早いというのと、非表示になっているシートにある複数セルで指定される範囲を表現するのにとても面倒だというのがその理由です。

あと、パフォーマンスの違いについて考えるときの方針について。

Range と Cells のパフォーマンスの違いは、マシンスペックやほかによけいなプログラムが走っているかいないかとか、そういうことによって吸収されてしまう程度に軽微です。
(For Each構文で書けば、 For Next 構文で書くよりはだいぶ早いです。あと、RangeのFindメソッドを使う)

でも、そこの改善に夢中になるより、やっている仕事の進め方を根本から変えるとかしたほうが全体としてのインパクトはデカいです。
よほどのパフォーマンスの違いになるのでなければ、僕はプログラムを書くときにかかる工数が少ないことがいちばん重要だと考えています。
匿名さんは当然ご存知のとおり、この点に気がついてそこそこのところで満足して手を離せるかどうかが、エクセルマニアで終わるか業務改善をできる人になるかの違いだと思います。
コメント日時: 2014年07月24日 18時18分52秒
コメントID: 1229 受講生さんからのお返事

>Range と Cells のパフォーマンスの違いは、マシンスペックやほかによけいなプログラムが走っているかいないかとか、
>そういうことによって吸収されてしまう程度に軽微です。

そうですよね^^ 良かった。感じていた通りのお言葉でした。
某T先生の無料講義でcells大推奨だったのですが、理由については速さとしか解説してもらえず
ネットで調べても場所の取得が、めちゃ面倒なだけという印象だったんですよね。
私もRange で直感的に書くほうが、思考と作業のズレでストレスを感じずに済み良いと思います。

18回目の課題も、めちゃ便利ですね。
重複だけなら、データタブから重複の削除で済むのですが、区域の取得をどうしたら良いか分からず
先週まで、目視と手作業で処理していました。データの数が少ないので諦めていたのですが、小川先生、凄すぎです。
面倒な作業が、日々加速的に楽しくなっています。






コメント日時: 2014年07月25日 11時07分07秒
コメントID: 1231 小川慶一さんからのお返事
匿名 さん:

>某T先生の無料講義でcells大推奨だったのですが、理由については速さとしか解説してもらえず

エクセルのことばかり見ていると、部分最適にばかり目がいってしまいますね (^^;

以下の記事も参考になるかと思います。
http://www.exvba.com/blog/?p=4378

「某T先生」の視点は、この記事で言うところの「作業担当者にとってどうか」という視点です。
「作成者にとってどうか」と言えば Range でしょう。

18回目の課題は、実は、発展編1のあとに演習で扱う「伝票作成マクロ」と基本のアルゴリズムは同じです。
http://www.exvba.com/demo_denpyo.php

18回目の課題を楽しいと思っていただけるようでしたら、かなり楽しんでいただけると思います v(^^*


>>Range と Cells のパフォーマンスの違いは、マシンスペックやほかによけいなプログラムが走っているかいないかとか、
>>そういうことによって吸収されてしまう程度に軽微です。
>
>そうですよね^^ 良かった。感じていた通りのお言葉でした。
>某T先生の無料講義でcells大推奨だったのですが、理由については速さとしか解説してもらえず
>ネットで調べても場所の取得が、めちゃ面倒なだけという印象だったんですよね。
>私もRange で直感的に書くほうが、思考と作業のズレでストレスを感じずに済み良いと思います。
>
>18回目の課題も、めちゃ便利ですね。
>重複だけなら、データタブから重複の削除で済むのですが、区域の取得をどうしたら良いか分からず
>先週まで、目視と手作業で処理していました。データの数が少ないので諦めていたのですが、小川先生、凄すぎです。
>面倒な作業が、日々加速的に楽しくなっています。
コメント日時: 2014年07月25日 14時58分39秒
投稿ID: 56 受講生さんの投稿
ダウンロード資料の中に問題文を入れた方が、繰り返しの勉強もしやすいと思います。
投稿日時: 2014年01月10日 07時32分19秒
コメントID: 739 小川慶一さんからのお返事
匿名さん:

それはそうですね。いただいたご意見、反映させたいと思います。ひきつづきよろしくお願いいたします。

>ダウンロード資料の中に問題文を入れた方が、繰り返しの勉強もしやすいと思います。


コメント日時: 2014年01月10日 13時25分58秒