条件に一致するデータを別シートに転記する

この講座は有料講座です。
講座の購入後ご覧になれます。

ログインアカウントの新規作成

解説

演習問題テーマ:条件に一致するデータを別シートに転記する

2つの表がそれぞれ別のシートにあるパターン。

調べているシート、書き出し先のシートが異なります。このような複数シートのときはシートを指定するのがポイント。調べているシートに限らず書き出し先のシートも含めすべての値のシートを指定する習慣をつけてください。マクロを実行するときにどこのシートを開いていてもきちんと動くマクロをかけるように。また、シート間の移動はtrl+PageUP,Ctrl+PageDownでスムーズに。2つの表がある場合に変数を2つつくるパターンは前回と同じ。変数をつくるときは、どんな目的で作った変数かがわかる変数をつくると便利です。

共有メモ

名前重要度メモ
矢口幸平for next 構文がなぜ中に入るのか、学習中に少しわからなくなった・・・

この教材についての過去の質問・感想

10851 : 小川慶一の回答 (2018-12-26 21:53:45)

受講生 さん:

こんばんは。

> Worksheets(“元データ”)やWorksheet(“要注意リスト”)の元データや要注意リストの部分も変数にして当てはめることは可能ですか?

「オブジェクト型変数」を使ってワークシートを指定することでより可読性高く簡単な記述にできます。
「オブジェクト型変数」については、発展編1で学びまず。

>シート名が変わったりしても書き変えなくてすむように、

というだけでしたら、 [Ctrl] + [H] で置換ダイアログを呼び出し、旧シート名から新シート名に一括変換することで当面はしのげるかと。

とりいそぎ、よろしくお願いします。


10846 : 受講生さんのコメント (2018-12-25 23:06:06)

Worksheets(“元データ”)やWorksheet(“要注意リスト”)の元データや要注意リストの部分も変数にして当てはめることは可能ですか?シート名が変わったりしても書き変えなくてすむように、motosheet=range(“A1”).valueみたいにできますか?


10615 : 小川慶一の回答 (2018-10-02 05:29:05)

シドニーさん:

> ただ、小川先生が言っていた、やってはいけない書き方(worksheetsの記述を片方省く)を見事にやってしまい、マクロが思うように実行されず、修正に時間がかかりました(笑)
> マクロを書くときにやってしまいがちなミスも学べるので、非常に勉強になります。

最初はみんなやります。
正直僕もいまだにといどきやってしまいますが、すぐに気づいて修正できるところが違います。

上達すると、ミスを恐れなくなります。
ミスに気づくのが早くなり、ミスからのリカバリーも早くなるからです。

ひきつづきお楽しみください☆


> 自分でマクロが書けるようになり成長を実感しています!
> 前回の問題で勉強したので、今回の問題は何とか解けました!
> ただ、小川先生が言っていた、やってはいけない書き方(worksheetsの記述を片方省く)を見事にやってしまい、マクロが思うように実行されず、修正に時間がかかりました(笑)
> マクロを書くときにやってしまいがちなミスも学べるので、非常に勉強になります。


10613 : シドニーさんのコメント (2018-10-01 21:04:01)

自分でマクロが書けるようになり成長を実感しています!
前回の問題で勉強したので、今回の問題は何とか解けました!
ただ、小川先生が言っていた、やってはいけない書き方(worksheetsの記述を片方省く)を見事にやってしまい、マクロが思うように実行されず、修正に時間がかかりました(笑)
マクロを書くときにやってしまいがちなミスも学べるので、非常に勉強になります。


10553 : 小川慶一の回答 (2018-09-08 10:21:46)

Matsumotoさん:

着実な進歩、いいですね。

> ただ、タイプが遅い&ミスが多いため時間がかかります。

以下の講座がおすすめです。
○スピード3倍を目指すタイピング講座
https://online.pc5bai.com/package/index/47

○イヤでもWindowsとエクセルの操作が早くなるワークショップ
https://www.exvba.com/winxls.php

コーデングとテストのスピードが5倍以上になれば、マクロ習得のペースは12倍以上になりますよ。

> 小川先生のお話にある「体が動かせる」はとても重要ですね。

それは本当にそうです。
能力があがらない人ほど、身体を動かす・身体の動きを感じる、という、ベタなトレーニングを軽視します。



> 問題5を何度か練習してからヒントを見てチャレンジしたところ、
> 動画を見る前に回答できました!!
> うれしいです!
>
> ただ、タイプが遅い&ミスが多いため時間がかかります。
> 小川先生のお話にある「体が動かせる」はとても重要ですね。


10550 : Matsumotoさんのコメント (2018-09-06 23:36:34)

問題5を何度か練習してからヒントを見てチャレンジしたところ、
動画を見る前に回答できました!!
うれしいです!

ただ、タイプが遅い&ミスが多いため時間がかかります。
小川先生のお話にある「体が動かせる」はとても重要ですね。


10132 : 小川慶一の回答 (2018-06-19 13:47:15)

morimotoさん:

> こんな初歩的なことでもぼくにとっては重要です。ほんといい講座です。

ありがとうございます☆
初心者がどこでかかるか?ということについては、対面講座の経験もあるけどつまないと分らないでしょう。

この機会に、以下の動画でもしっかり復習してください。
○基礎講座第1章2 - オブジェクトの指定
https://online.pc5bai.com/movie/index/25/98?t=1529383534


> 疑問が解けました。いろんはVBA本を見てても
> worksheets(1)range("a1"),,,,,て書いていたりrange("a1"),,,,,とあったりどうちがうのかわかりませんでした。
> 同じ意味なのか違う意味なのか。
> 当たり前かもしれませんがどのシートを実行させるのかってことですね。
> こんな初歩的なことでもぼくにとっては重要です。ほんといい講座です。


10123 : morimotoさんのコメント (2018-06-17 02:08:55)

疑問が解けました。いろんはVBA本を見てても
worksheets(1)range("a1"),,,,,て書いていたりrange("a1"),,,,,とあったりどうちがうのかわかりませんでした。同じ意味なのか違う意味なのか。当たり前かもしれませんがどのシートを実行させるのか
ってことですね。こんな初歩的なことでもぼくにとっては重要です。ほんといい講座です。


10026 : 小川慶一の回答 (2018-05-21 18:33:16)

マメコトさん:

> 以前解説があったかも知れませんが、ピリオドを打った後(Range("A1").⇐これ)の候補リストが、今回のマクロを記述する際に表示されないのは、vbeの仕様なのでしょうか。

「VBEの仕様でしょうか?」というご質問への答えは、一応「はい」です。

というか、これは僕は一種のバグだと思うのですが、Worksheets() のカッコの中でシートを指定するという方法でマクロを書くと、直後のピリオド以降は自動メンバ表示機能が使えなくなります。

発展編1講座まで学習が進んで「固有オブジェクト型」の変数を扱えるようになるとこの問題は解消できます。


10025 : 小川慶一の回答 (2018-05-21 18:26:44)

マメコトさん:

順調そうで&楽しまれているようで何よりです。

ワークシートの指定の部分は、発展編1まで行くとよりシンプルに勝つパワフルに勝つよりメンテナンスへ高く書くことができるようになります。

基礎編の段階ではちょっとベタですね。
とはいえ、そういうベタな書き方をすることも良い経験になります。

ひきつづきお楽しみください☆

> 全ての問題について、動画解説を見る前に「先ずは自力でやってみよう」と思って取り組んでいます。
> 今回の問題は、動画5で学んだことが直接活かせる問題でした。
> 途中で考え込むこともなく、サラサラとコードを書いている自分にびっくりですw
> 今までのマクロはシートが別だと全く用をなさなかったですが、マクロの中でシートを指定すれば、どのシートからでも動かせるんですね。
> 面白いなぁ~


10024 : 小川慶一の回答 (2018-05-21 18:23:44)

マメコトさん:

順調そうで&楽しまれているようで何よりです。

ワークシートの指定の部分は、発展編1まで行くとよりシンプルに勝つパワフルに勝つよりメンテナンスへ高く書くことができるようになります。

基礎編の段階ではちょっとベタですね。
とはいえ、そういうベタな書き方をすることも良い経験になります。

ひきつづきお楽しみください☆

> 全ての問題について、動画解説を見る前に「先ずは自力でやってみよう」と思って取り組んでいます。
> 今回の問題は、動画5で学んだことが直接活かせる問題でした。
> 途中で考え込むこともなく、サラサラとコードを書いている自分にびっくりですw
> 今までのマクロはシートが別だと全く用をなさなかったですが、マクロの中でシートを指定すれば、どのシートからでも動かせるんですね。
> 面白いなぁ~


10013 : マメコトさんのコメント (2018-05-21 02:57:15)

なぜ同じ感想を3通も送信されてしまったのか、わかりません。お手数ですが、削除してください。
以前解説があったかも知れませんが、ピリオドを打った後(Range("A1").⇐これ)の候補リストが、今回のマクロを記述する際に表示されないのは、vbeの仕様なのでしょうか。


10010 : マメコトさんのコメント (2018-05-21 02:40:32)

全ての問題について、動画解説を見る前に「先ずは自力でやってみよう」と思って取り組んでいます。
今回の問題は、動画5で学んだことが直接活かせる問題でした。
途中で考え込むこともなく、サラサラとコードを書いている自分にびっくりですw
今までのマクロはシートが別だと全く用をなさなかったですが、マクロの中でシートを指定すれば、どのシートからでも動かせるんですね。
面白いなぁ~


9216 : 小川慶一の回答 (2017-12-12 16:21:46)

吉川 裕子さん:

「オブジェクト型」の理解は、独学での壁のひとつですね。。
オブジェクト型については、基礎編では扱いません。発展編1で扱います。

> worksheets自体を変数に格納するという方法は

より正しくは、「worksheetへの参照設定を変数に格納するという方法は」です。
「どう違うのか?」ということについてはここでは触れませんが、「worksheets自体を変数に格納する」わけではない、とだけ理解しておいてください。あとは、発展編1にて。

オブジェクト型変数、概念が分かって使いこなせるようになると、とても便利ですよ☆


基礎編は、手を動かすことに慣れてもらうこと、アルゴリズムにひととおり触れることを重視していまして、「抽象概念の理解」、「使い分けられると便利な多様な道具を持つ」といったことは発展編1以降に譲っています。


9214 : ガラパゴスタディー吉川の回答 (2017-12-12 15:18:53)

worksheets自体を変数に格納するという方法はこの先にでて来ると思いますが、実はオブジェクトの型の宣言が複雑なマクロになってくるとややこしくて苦手だったりします。
この先の講義が楽しみです。


8850 : 小川慶一の回答 (2017-09-10 12:06:53)

受講生 さん:

発展編1まで学ぶともっとシンプルな書き方をできるようになります。

とはいえ、今は、ベタなやり方ですが、面倒でも worksheets("hoge") の記載をする習慣を見につけてください。
あとでもっとシンプルな書き方を学ぶにしても、ここでのそういう努力はムダにはなりません☆

> シート間をまたぐマクロを作る際は、
> ・めんどくさくても
> ・かったるくても
> ・なにがんでも
> "シート名"を書くこと!


8845 : 受講生さんのコメント (2017-09-09 07:58:27)

シート間をまたぐマクロを作る際は、
・めんどくさくても
・かったるくても
・なにがんでも
"シート名"を書くこと!


6102 : 小川慶一の回答 (2016-03-24 13:08:36)

受講生 さん:

>反復効果がすばらしいです。

でしょうw
順を追って学べば、エクセルマクロなんて簡単です。


6053 : 受講生さんのコメント (2016-03-23 22:45:08)

前回の問題で、反復練習を重ねてからこちらに来たおかげで、
ワークシートの指定部分だけを教わったら、あとは自力で解けました(*´▽`*)
教わったそばからIF文の条件式にワークシート指定を忘れて、最初動きませんでしたが(笑)
あるあるなので、シートの特定があるマクロは、気をつけたいと思います。
反復効果がすばらしいです。
gooska


2718 : 小川慶一の回答 (2014-10-13 20:52:58)

野村昭雄 さん:

> 今回の問題も良かったです。

そりゃ、僕が作ってますからw
この問題を自力で解けるようになれば、発展編1の受講OKです。

ひきつづき、お楽しみください☆

>別のシートから情報を取ってくるのは、良く仕事でもあるので、今回の問題も良かったです。


2711 : 野村昭雄さんのコメント (2014-10-13 20:09:19)

別のシートから情報を取ってくるのは、良く仕事でもあるので、今回の問題も良かったです。


2618 : 小川慶一の回答 (2014-10-02 08:31:55)

浜口 智之 さん:

>今回はテストをこまめにして、上手くいかなかったら、原因を考えてって感じで
>自力で考えながら書き上げることができました。

適切なプロセスを理解し、実践されているようでなによりです (^^*
前にもお伝えしたとおり、この問題自力で解けたら、発展編1は安心して受講できます。お申込み、もういつでもどうぞ☆


2613 : 浜口 智之さんのコメント (2014-10-01 22:33:51)

今回はテストをこまめにして、上手くいかなかったら、原因を考えてって感じで
自力で考えながら書き上げることができました。
前回つまずいて変数の考え方を理解できたので、今回はそんなには苦労しなかったです。
引き続き楽しんで進めていきたいと思います。


2546 : 小川慶一の回答 (2014-09-24 07:33:19)

匿名 さん:

達人養成塾 小川です。

追記です。
すいません。ご説明がちょっとわかりにくかったですね。

実は、オンライン講座と公開講座では、使っているレジュメが違うのです。
僕の以前の投稿指しているページ数は、公開講座用のレジュメでのものでした。

>>>マインドマップ13枚目を再度見てみてください。
>>>どういうときに変数を使うべき、書いていますので。

基礎編第1章の、変数について触れている部分です。
10枚目ですね。

よろしく、お願いいたします。



>水谷久子 さん:
>
>では、早速質問させていただいても、よろしいでしょうか?
>小川先生のコメントで
>>>マインドマップ13枚目を再度見てみてください。
>>>どういうときに変数を使うべき、書いていますので。
>とありますが、これは現在ではどのページのことでしょうか?
>「VisualBasicの文法」(06)または「講義概要」(10)のことでしょうか?
>お手数をおかけしますが、ご回答をお願いいたします。
>
>>匿名 さん:
>>コメントありがとうございます。
>>達人養成塾事務局水谷です。
>>リリースから何度かマイナーチェンジを行っておりますので、資料のページ数が少なくなっているものもあります。
>>今後、見つけられない資料等がありましたら、またご連絡いただければと思います。
>>>小川先生
>>>フォローアップ動画が閲覧できるようになりましたので、再開しました(それまではEnshuフォルダを先にやっていました)。
>>>コメント欄で時折マインドマップの説明が記載されていますが、ダウンロードした資料とページ数が違います(ページが
>>>少なくなったような感じです)。ただ、該当するページは見つけられました。
>>>当時のコメント投稿時とは、マインドマップも修正されているということでしょうか?
>>
>


2545 : 小川慶一の回答 (2014-09-24 07:32:25)

匿名 さん:

達人養成塾 小川です。

すいません。ご説明がちょっとわかりにくかったですね。

実は、オンライン講座と公開講座では、使っているレジュメが違うのです。
僕の以前の投稿指しているページ数は、公開講座用のレジュメでのものでした。

>>>マインドマップ13枚目を再度見てみてください。
>>>どういうときに変数を使うべき、書いていますので。

基礎編第1章の、変数について触れている部分です。
10枚目ですね。



>水谷久子 さん:
>
>では、早速質問させていただいても、よろしいでしょうか?
>小川先生のコメントで
>>>マインドマップ13枚目を再度見てみてください。
>>>どういうときに変数を使うべき、書いていますので。
>とありますが、これは現在ではどのページのことでしょうか?
>「VisualBasicの文法」(06)または「講義概要」(10)のことでしょうか?
>お手数をおかけしますが、ご回答をお願いいたします。
>
>>匿名 さん:
>>コメントありがとうございます。
>>達人養成塾事務局水谷です。
>>リリースから何度かマイナーチェンジを行っておりますので、資料のページ数が少なくなっているものもあります。
>>今後、見つけられない資料等がありましたら、またご連絡いただければと思います。
>>>小川先生
>>>フォローアップ動画が閲覧できるようになりましたので、再開しました(それまではEnshuフォルダを先にやっていました)。
>>>コメント欄で時折マインドマップの説明が記載されていますが、ダウンロードした資料とページ数が違います(ページが
>>>少なくなったような感じです)。ただ、該当するページは見つけられました。
>>>当時のコメント投稿時とは、マインドマップも修正されているということでしょうか?
>>
>


2536 : 受講生さんのコメント (2014-09-23 17:32:14)

水谷久子 さん:

では、早速質問させていただいても、よろしいでしょうか?
小川先生のコメントで
>>マインドマップ13枚目を再度見てみてください。
>>どういうときに変数を使うべき、書いていますので。
とありますが、これは現在ではどのページのことでしょうか?
「VisualBasicの文法」(06)または「講義概要」(10)のことでしょうか?
お手数をおかけしますが、ご回答をお願いいたします。

>匿名 さん:
>コメントありがとうございます。
>達人養成塾事務局水谷です。
>リリースから何度かマイナーチェンジを行っておりますので、資料のページ数が少なくなっているものもあります。
>今後、見つけられない資料等がありましたら、またご連絡いただければと思います。
>>小川先生
>>フォローアップ動画が閲覧できるようになりましたので、再開しました(それまではEnshuフォルダを先にやっていました)。
>>コメント欄で時折マインドマップの説明が記載されていますが、ダウンロードした資料とページ数が違います(ページが
>>少なくなったような感じです)。ただ、該当するページは見つけられました。
>>当時のコメント投稿時とは、マインドマップも修正されているということでしょうか?
>


2532 : 水谷久子さんのコメント (2014-09-23 16:05:34)

匿名 さん:
コメントありがとうございます。
達人養成塾事務局水谷です。
リリースから何度かマイナーチェンジを行っておりますので、資料のページ数が少なくなっているものもあります。
今後、見つけられない資料等がありましたら、またご連絡いただければと思います。
>小川先生
>フォローアップ動画が閲覧できるようになりましたので、再開しました(それまではEnshuフォルダを先にやっていました)。
>コメント欄で時折マインドマップの説明が記載されていますが、ダウンロードした資料とページ数が違います(ページが
>少なくなったような感じです)。ただ、該当するページは見つけられました。
>当時のコメント投稿時とは、マインドマップも修正されているということでしょうか?


2510 : 受講生さんのコメント (2014-09-21 11:11:03)

小川先生
フォローアップ動画が閲覧できるようになりましたので、再開しました(それまではEnshuフォルダを先にやっていました)。
コメント欄で時折マインドマップの説明が記載されていますが、ダウンロードした資料とページ数が違います(ページが
少なくなったような感じです)。ただ、該当するページは見つけられました。
当時のコメント投稿時とは、マインドマップも修正されているということでしょうか?


826 : ガラパゴスタディー事務局の回答 (2013-08-31 00:02:00)

北嶋さん:

> 今回のように一行一行が長いと部品の使いまわしが効果を発揮しますね。
> 一つ一つ書いていくと時間がかかりますし、何より間違えそうです。

はい。セミナー本編でも、プログラミングの「行動の3つのツボ」として紹介したとおりです。
「可能な限りコピペで済ませる」が上級者への近道です。

> ショートカットがいっぱい出てきて頭がクラクラしていますが、

だんだん慣れてきますので、毎日ちょっとずつ上達している自分を楽しんでください。
あと、仕事でPC触っているときなんかにも、積極的にショートカットキーを活用すること。周りからも「すごそう」とソンケーされますよ(笑


825 : 北嶋浩行さんのコメント (2013-08-31 00:01:00)

今回のように一行一行が長いと部品の使いまわしが効果を発揮しますね。
一つ一つ書いていくと時間がかかりますし、何より間違えそうです。

ショートカットがいっぱい出てきて頭がクラクラしていますが、
まずはCtr+PgUp(PgDn)あたりから繰り返し使ってみようと思います。


824 : ガラパゴスタディー事務局の回答 (2013-08-31 00:00:00)

小俣さん:

> ちゃんとシート名を明示してあげないと小人ちゃんは分からないということがよくわかりました。

「ねばならない」てことはないですが「したほうがよい」ですね。推奨。

> ゆくゆくは複数ブックにまたがって小人ちゃんをこき使おうと思います。

もう、書けますよ。以下の要領。

workbooks("book1.xls").worksheets("sheet3").range("a2").value = workbooks("book2.xls").worksheets("sheet1").range("b5").value


823 : 小俣卓生さんのコメント (2013-08-30 00:00:00)

今日は複数シートにまたがって小人ちゃんに働いてもらいました。
ちゃんとシート名を明示してあげないと小人ちゃんは分からないということがよくわかりました。

ゆくゆくは複数ブックにまたがって小人ちゃんをこき使おうと思います。

いまから楽しみです。


822 : ガラパゴスタディー事務局の回答 (2013-07-05 00:01:00)

> コピーを取って保存しないで終了してからペーストやってみます!!

こういう作業をひといきでやれるようになると、格段に生産性が増します。


821 : ガラパゴスタディー事務局の回答 (2013-07-05 00:00:00)

市川さん:

別の表に書き出すマクロを作るのは、慣れるのに若干時間を要しますね。
順調そうでなにより ヾ(´ー`)ノ


820 : 受講生さんのコメント (2013-07-04 00:01:00)

マクロを書いている途中に、テストをする時前にバックアップをとるようにしていますが、バックアップファイルがたくさんできてしまって訳が分からなくなってしまいます。
コピーを取って保存しないで終了してからペーストやってみます!!


819 : 市川一紀さんのコメント (2013-07-04 00:00:00)

・・・・出来た。動画を見ずにヒントだけみて。

No.3とNo.4で躓いたおかげかな(笑)

次の問題が楽しみ!!


818 : ガラパゴスタディー事務局の回答 (2013-06-14 00:05:00)

村木さん:

> まだアクティブなシートの概念がわかっていません。

アクティブな: 分かりやすく言うと、今表示されている というところかな。

↑この記載を軸にして、今書いた疑問の答えを自分なりに考えてみてください。
それでまた何かあれば、いつでもどうぞ。


817 : 村木充さんのコメント (2013-06-14 00:04:00)

小川様
先ほどご回答いただきました村木です。

小人ちゃんの概念の間違いがわかりました。
ありがとうございます。

まだアクティブなシート の概念が
わかっていません。

仮に 自分が 手で 元リストのシートのデータを見て
要注意リストのシートのあるセルへ書き込む動作をするとき

書き込みを行う 正にその時は
要注意シートがアクティブになっている

と理解しておりますが

そこが間違いなのでしょうか。

若しくは 書き込んだ後 元リストシート
がアクティブになる仕組みがあるのでしょうか


そもそもアクティブじゃないのだけれど
書き込みができちゃうんでしょうか


816 : ガラパゴスタディー事務局の回答 (2013-06-14 00:03:00)

村木さん:

先ほど回答をさせていただきました小川です。

基礎編マインドマップ「kiso12」の最下段、「階層構造」を参照。
シートの指定を省略した場合はアクティブシートで作業をするだけです。

あと、小人ちゃんは、エクセルの手前に立って作業しています。ファイルの中に入ってエクセルの世界にいるわけじゃないよ。
http://www.exvba.com/image/kobito1-3.png

テレビゲームで言えば、こっち側でコントローラを使って操作しているだけです。
テレビゲームの中のキャラクターになってしまったわけではないです。

ということで。

> 要注意リストのシートに書き込みを行なったとき
> 小人ちゃんを元データシートに戻す

というのは、原理的にありえません。
小人ちゃんはエクセルファイルの上を歩いているわけじゃないから。

..という説明で、伝わったかな。どうだろ。


815 : 村木充さんのコメント (2013-06-14 00:02:00)

先ほど質問をさせていただきました村木です。

小人ちゃんに動いてもらうときに
同じシート内ならシート名を省略してもいい
と理解していたからです。

今回の場合、小人ちゃんは ずーと元データシートにいて
要注意リストシートのある値を書き換える

とかんがえるのでしょうか

若しくは一旦要注意リストのシートへ行って
また元データシートへ戻ってくる

と考えるのでしょうか


814 : ガラパゴスタディー事務局の回答 (2013-06-14 00:01:00)

村木さん:

それをしなければならない、と考えた理由は何ですか。


813 : 村木充さんのコメント (2013-06-14 00:00:00)

要注意リストのシートに書き込みを行なったとき
小人ちゃんを元データシートに戻す指示を
しなくてもいいのは なぜでしょうか?

Worksheets("要注意リスト").Range("D9").Value = Worksheets("元データ").Range("B4").Value



812 : ガラパゴスタディー事務局の回答 (2013-05-09 00:00:00)

土田さん:

worksheets("hogehoge"). は、例外的にリストがでてきません。
(話すと長くなるので、詳細については、発展編でお話します)

でなくてもまあ困らなくなるような方法もあるのですが、それも発展編で(すいません。。)

> 物事の優先順位を判断し限られた時間内で実行する。
> 時間の管理はとても大事ですね。

誰にとっても耳の痛い話ですね (^^;

毎日、ちらっとでも、マクロに触れるようにしてください。

勉強の成果は、以下の3つの要素のかけ算で決まります。

[環境] x [集中] x [時間]

他の要素を充実させようとしても、 [時間] の値が [0] だと、残念ながら成果はゼロです。

でも、例え最悪の環境、最悪の集中力の状態でも、そこでちらとでもマクロに触れれば、成果はゼロよりも絶対に大きくなります。

極端な話、会社でエクセルを開いたら [Alt] + [F11] を押して、メニューの[挿入]→[標準モジュール]という操作をするだけでも十分です。


811 : 土田 信行さんのコメント (2013-05-08 00:00:00)

質問です。
"worksheets("○○")"とシートを指定すると"."の入力後
メンバが表示されなくなってしまいます。
他に同じような人はいませんか?
アドバイスをお願いします。

以下、余談。(反省の意を込めて。)
最近時間を作れなくて間が空いてしまいました^^;
今は何をするのか?
物事の優先順位を判断し限られた時間内で実行する。
時間の管理はとても大事ですね。

6/30までにフォローアップ講座を2回以上は復習したいです。
No.6へすすみます!


810 : ガラパゴスタディー事務局の回答 (2013-04-06 00:00:00)

池本さん:
よいですね。
学んだことについてご自身の言葉で再度まとめられているのも、
とてもよいと思います。

ひきつづき、お楽しみを!


809 : 池本利恵さんのコメント (2013-04-04 00:00:00)

こんにちは~☆

今日はヒントをみたあとは1回で自力で問題解けました~(^^)v
F5でさらさらと値がうまると気持ちいいですね~(*^^*)


動画をみて確認したことは、
ワークシートは最後のsを忘れないこと、
ワークシートのの「の」は.ということ、
ワークシートをまたがるときはワークシートを指定する習慣をつけたほうがよいこと、
マクロをかいてしまうとctrl zでは戻せないこと、
戻すには書いたマクロをコピーしておいて、エクセルを保存せずに一回閉じて、はじめること、
ワークシートの移動ショートカットはctrl page up/downだということ、
です。

マクロをかくときにコピーペーストを多用することと、
何か書いたら一回ずつ試してみること、
とりあえず書くこと・難しく考えないでどこに何をいれるか書くこと、
お団子ができてお試し成功してからハナコさんを書くこと、
変数が2回あっても、左のことを指す変数なら加工も左のところということ、
は自分の動きに定着してきたように感じます。

今日の問題は昨日の復習もできて、前進もできて、
プチ達成感もあったのが楽しかったです~(*^^*)♪

day6も楽しみにしていま~す☆


808 : ガラパゴスタディー事務局の回答 (2013-03-01 00:01:00)

サエさん:

dst.Cells(1, 1) = db.Cells(1, 1)

とかは、僕なら .Value をつけますね


807 : サエさんのコメント (2013-03-01 00:00:00)

今回も 手直しをお願いします。
自分ではif分の中が 少し気になっていますが、

Sub レコード毎に処理_ks005()
    Dim db As Range
    Dim dst As Range
    Set db = Sheets("元データ").Range("A4:I13")        'データベース範囲
    Set dst = Sheets("要注意リスト").Range("C8:E8")         '抽出先
     
    For Each db In db.Rows          'データベースを行のコレクションとして
        db.Select                               '作業工程を確認するためselect
        If db.Cells(1, 9).Value > 100 Then
            Set dst = dst.Offset(1, 0)          '貼付け先を一行下にずらす
            dst.Cells(1, 1) = db.Cells(1, 1)
            dst.Cells(1, 2) = db.Cells(1, 2)
            dst.Cells(1, 3) = db.Cells(1, 9)
        End If
    Next
    Range("A1").Select
End Sub


806 : ガラパゴスタディー事務局の回答 (2013-02-17 00:00:00)

豊島さん:

はい。そうですね。最初は誰でもやる失敗です (^^;

リカバリー方法も、参考にしてください。
順調にものごとが進まなかったときにどう対処するかっていうのも、大事な能力です。
というか、身の丈にあった難易度のプログラムを書くときに、すべてが順調にいくなんてことは、まずあり得ないですから。


805 : 豊島 久博さんのコメント (2013-02-16 00:00:00)

今回の課題は、ワークシートを要注意しか定義せずに、いちいち、元データのワークシートに戻して、テストをしていました。

複数出てくれば、全てを定義することがだいじですね!

テスト中にハマってしまった場合、全選択し、コーピーをし、保存をせずにファイルを落とすと言うアドバイスは役にたちました。


804 : ガラパゴスタディー事務局の回答 (2012-11-19 00:00:00)

佐藤さん:

> 複数シートのときは必ず指定が必要なのですね。

ははは。やってしまいますか!まあ、最初はそういうものですね。

変数名は、その名前を見ただけで機能が分かるようなものにするのがコツです。
「営業課長」なら「営業の課長」、「芝刈り機」なら、「芝を刈る機械」です。
もう、名前から自明。

そういう感じで。


803 : 佐藤 尚子さんのコメント (2012-11-18 00:00:00)

動画解説の中にあった「初心者が陥りやすい間違い」しっかりやっていました!複数シートのときは必ず指定が必要なのですね。
変数の名前の付け方が自分ではまだいまいちなので、目的を考えながらつけられるようにしたいと思いました。


801 : 長江秀展さんのコメント (2012-10-27 00:00:00)

やった!!これは自力で解けました。
No.4のおかげです。


800 : 竹端博希さんのコメント (2012-10-25 00:01:00)

今回はヒントと昨日の2つの変数を活用することで、自力で問題を解くことができました。チョット、感動!!

その後、おさらいのつもりで動画を見たのですが、やはり見て良かったです。初心者によくある間違いというのもミソですね~また、ショートカットキーを多用している点も本当に身につけたいところです。


799 : 加藤美智子さんのコメント (2012-10-25 00:00:00)

No.004の動画を繰り返し見たおかげで、この問題は難なく出来ました。
この動画でキーボード操作(ショートカット)を早くせねばと再確認しました!


1154 : 小川慶一の回答 (2012-10-12 12:54:00)

達人養成塾 小川です。

いいですね!どんどん試してください。その姿勢が大事です。

すぐれた者ほど間違いが多い。それだ多くのことを試みるからである。
という言葉を紹介しました有家さんは、まさにこれを地でいっていますね!!
(ドラッガーの言葉です)


さて、で、以下のマクロですが。
何も間違いがありません。


ということで、あなたはもうドラッガーより上です ヾ(´ー`)ノ


1142 : 小川慶一の回答 (2012-10-12 07:31:00)

おはようございます。


> ただ、最初の中身、 "データ元" のワークシートを指定せずにマクロを書いたので、
> "出力先リスト"ワークシートがアクティブになっているときは、うまく表示されず、しばし、???となりました。

まさに、典型的な失敗です。
5年3組と5組に「鈴木君」がいて、二人がケンカをしたことで、
学校で職員会議になったとします。

そのとき、3組の担任の先生が「鈴木君」と言っても、
どっちの鈴木君のことか分かりませんね。ちょっとそれと似ています。

もう少し広く言うと、手順書なんだから、オブジェクトの指定は一意になるようにしなさい、
ということでもあります。


1141 : 受講生さんのコメント (2012-10-12 02:13:00)

第4回の「別シート版」という感じでしたので、今回もスラスラと。

ただ、最初の中身、 "データ元" のワークシートを指定せずにマクロを書いたので、

"出力先リスト"ワークシートがアクティブになっているときは、うまく表示されず、しばし、???となりました。

動画で説明されてるとおり、"つねに必要なシートがアクティブになっているとは限らない"状態。

今回の動画は、陥りやすいミスがバチッと指摘されてること、さらに失敗したときの復帰の方法まで示されているのがGOOD!! です!



>あと、まだ第4回くらいですと、体が操作を覚えていないことも多いので、

>思考プロセスについては積極的に支援してあげないと、という感じですね (^^;



↑ なるほどです。そこまで考えられてあるんですね。


1153 : 受講生さんのコメント (2012-10-11 11:08:00)

Sub rensyu1()

Dim mae

Dim ato

ato = 9

For mae = 4 To 13



If Worksheets("元データ").Range("I" & mae).Value > 100 Then

Worksheets("要注意リスト").Range("C" & ato).Value = Worksheets("元データ").Range("A" & mae).Value

Worksheets("要注意リスト").Range("D" & ato).Value = Worksheets("元データ").Range("B" & mae).Value

Worksheets("要注意リスト").Range("E" & ato).Value = Worksheets("元データ").Range("I" & mae).Value

ato = ato + 1

End If



Next

With Worksheets("要注意リスト")

.Columns("C:C").ColumnWidth = 6

.Columns("D:D").EntireColumn.AutoFit

.Range("E9:E14").Select

.Range("E9:E14").NumberFormatLocal = "0.0_ "

End With

End Sub



成功しました。With構文部分は行の幅と小数点表示の調整を行ったものです。



(昨日のDo while Loop 構文、with構文は本を見ながらの独学で、つまみ食い程度の知識があるだけの初心者です。)


1265 : 小川慶一の回答 (2012-08-31 16:45:00)

達人養成塾 小川です。こんにちは。


> 失敗したときのショートカットの駆使は、流れるような動きで凄いですね。
> なぞってやってみて、復帰の早さにウットリしました。

さすがですね。
過程をそのままなぞることで、得られることも多いと思います。



ハナコでも、

Range("F2).Value = Left(Range("C2").Value, ku)
Range("G2).Value = Mid(Range("C2").Value, ku + 1)

とかを作るときでもそうですが、
結果的に同じ状態になるにしても、
その過程や、それを実現するときに
その人の内部で起こっていることは、
上手な人とそうでない人とでは、まったく違います。


そういうところに意識を向けられる人は、やはり上達が早いです。


1264 : 受講生さんのコメント (2012-08-31 16:41:01)

シートの指定以外は、前回と全く同じですね。

すんなりと出来ました。



失敗したときのショートカットの駆使は、流れるような動きで凄いですね。

なぞってやってみて、復帰の早さにウットリしました。


3日がかりのその仕事、3分で終わらせる方法教えます。ガラパゴスタディーオンライン講座 ユーザー登録

本講座の動画一覧

  1. 【動画1】 If文とForNext構文を組み合わせる
    【動画1】 If文とForNext構文を組み合わせる 未習得
  2. 【動画2】 複数条件を組み合わせた条件分岐
    【動画2】 複数条件を組み合わせた条件分岐 未習得
  3. 【動画3】 ElseIfを使った条件分岐
    【動画3】 ElseIfを使った条件分岐 未習得
  4. 【動画4】 出現回数を数える。CountIf関数がやっていることをマクロで書くと?
    【動画4】 出現回数を数える。CountIf関数がやっていることをマクロで書くと? 未習得
  5. 【動画5】 条件に一致するデータを別表に転記する。AutoFilterより便利な条件抽出マクロ。
    【動画5】 条件に一致するデータを別表に転記する。AutoFilterより便利な条件抽出マクロ。 未習得
  6. 【動画6】 条件に一致するデータを別シートに転記する
    【動画6】 条件に一致するデータを別シートに転記する 未習得
  7. 【動画7】 とびとびに存在するデータを拾って加工する
    【動画7】 とびとびに存在するデータを拾って加工する 未習得
  8. 【動画8】 文字列を加工してデータ転記する(その1)
    【動画8】 文字列を加工してデータ転記する(その1) 未習得
  9. 【動画9】 文字列を加工してデータ転記する(その2)
    【動画9】 文字列を加工してデータ転記する(その2) 未習得
  10. 【動画10】 文字列を加工してデータ転記する(その3)
    【動画10】 文字列を加工してデータ転記する(その3) 未習得
  11. 【動画11】 勘定項目ごとに合計額を算出する。SumIf関数がやっていることをマクロで書くと?
    【動画11】 勘定項目ごとに合計額を算出する。SumIf関数がやっていることをマクロで書くと? 未習得
  12. 【動画12】 残業時間がいちばん多い従業員の情報を出力する。Max関数、Min関数より便利なマクロ
    【動画12】 残業時間がいちばん多い従業員の情報を出力する。Max関数、Min関数より便利なマクロ 未習得
  13. 【動画13】 複数の表の間でのマッチング。VLookUp関数がやっていることをマクロで書くと?
    【動画13】 複数の表の間でのマッチング。VLookUp関数がやっていることをマクロで書くと? 未習得
  14. 【動画14】 文字列を様々に解析して条件分岐
    【動画14】 文字列を様々に解析して条件分岐 未習得
  15. 【動画15】 複数の記号に挟まれた文字列を取り出す
    【動画15】 複数の記号に挟まれた文字列を取り出す 未習得
  16. 【動画16】 各資料ごとに1番からの番号を割り振る。AutoFill機能より便利なマクロ
    【動画16】 各資料ごとに1番からの番号を割り振る。AutoFill機能より便利なマクロ 未習得
  17. 【動画17】 表を解析して1行のリストを作る、1行のリストを解析して表にする(その1)
    【動画17】 表を解析して1行のリストを作る、1行のリストを解析して表にする(その1) 未習得
  18. 【動画18】 表を解析して1行のリストを作る、1行のリストを解析して表にする(その2)
    【動画18】 表を解析して1行のリストを作る、1行のリストを解析して表にする(その2) 未習得

塾長 小川慶一

メニュー

コメント紹介

もっと見る

ページの先頭へ