
【この動画で使用する教材ファイル】
・Kiso03.xls
・kiso_mm_movie.pdf(P2:思考と行動の基本)
※講座内で使用する資料は、この個別ページ内でダウンロードできます。
この講座を含む定額コースに参加するか、この講座を購入することで、講座を利用できるようになります。
定額コースに参加すると、そのコースの利用期間中はいつでも講座を利用できます。
講座を購入すると、いつでも講座を利用できます。
学習記録としてメモを残す
質問や感想を投稿する
投稿時に 記号が \ に変換されてしまいますが、気にせず投稿してください。※投稿に必要な権限がありません。
このページへの投稿/コメント
変数に纏めるなど、考え方など、これでもか!という程
丁寧に解説してくださって、本当に分かりやすいです。
この講座にもっと早く出会いたかったです!
おはようございます。
お返事遅くなりました。
2日ほど休暇を取っていました。
マクロの習得というのは思考と行動のプロセスを学ぶということです。
完成形だけ見てもそこの部分はなかなかわかりませんか、動画だとそこの部分を伝えやすいですね。
ひきつづきよろしくお願いいたします。
> マクロ動いて感動。。。(o´∀`o)ぉ♪
> 変数に纏めるなど、考え方など、これでもか!という程
> 丁寧に解説してくださって、本当に分かりやすいです。
> この講座にもっと早く出会いたかったです!
変数に纏めるなど、考え方など、これでもか!という程
丁寧に解説してくださって、本当に分かりやすいです。
この講座にもっと早く出会いたかったです!
教科書的な定義から、コーディングのコツやノウハウを見せてくれる段階に入ってきて熱いです!!
ちょっとは本で勉強したりコード書いたりしてたものの、こういうのを期待して受講したんです!!楽しい!
こんにちは。
実践は、知識と身体、心理の融合です。
ひきつづきお楽しみください☆
> 先生こんにちは。
> 教科書的な定義から、コーディングのコツやノウハウを見せてくれる段階に入ってきて熱いです!!
> ちょっとは本で勉強したりコード書いたりしてたものの、こういうのを期待して受講したんです!!楽しい!
実務でマクロを書いている人だと、上達早いですね。
ひきつづきお楽しみください☆
> 今のところはなんとか理解でき、ある程度、現在の仕事での実戦で練習をやっております。ですので、呑み込みも早いと思う。for next構文やピボットなど、もっとその先を早く知りたくなりますね。
実感としては、必須知識がひとつひとつ積みあがって形になっていく感じです。語学学習に近いのかもしれませんね。
コメントありがとうございます。
マクロの勉強は、理系科目の勉強でもあり、語学の勉強でもあります。
楽しんでください☆
> 講座がここまで進んで、導入編で小川先生が紹介されていた内容がやっと分かりました。
> 実感としては、必須知識がひとつひとつ積みあがって形になっていく感じです。語学学習に近いのかもしれませんね。
繰り返し現れるセルは変数にまとめる。
→マクロが引き締まる。すごい!
「めんどうくさい」とか、「読みにくいな」とか、そういう正直な感覚が大切です。
みんな思うことであれば、プログラミング言語や開発環境の仕様の中に解決策があるかもしれません。
なにしろ、VBAやVisual Basic Editorを作っている人たちは、面倒くさがりなプログラマーさんなのですので (^_^;
> [感想]
> 繰り返し現れるセルは変数にまとめる。
> →マクロが引き締まる。すごい!
同じ作業の繰り返しは単純作業であることが
「わっすごっ!」と声が出るほど感動した。
For Next構文を学ぶ前に作る「プログラミングのツボ」を要チェック!
本動画では、大事なノウハウについて扱っています。
> マクロを作る1.2.3番目が大事で
> 同じ作業の繰り返しは単純作業であることが
> 「わっすごっ!」と声が出るほど感動した。
>
> For Next構文を学ぶ前に作る「プログラミングのツボ」を要チェック!
今回の動画を見る前に自分で取り組んだ結果報告です。
導入編で既に同じ処理をする関数をご紹介いただいていたので、切り分けは自力でできました。
以下のステップで進みました。
①1行目のデータを切り分ける3つのマクロを作り、それぞれが正常に動いた
②for next文を入れて、3つのマクロをつなげたマクロが正常に動いた
③ラスト行が固定しない場合を想定し、(参考書で調べてきた)最終行を調べて取得する言葉を入れてみた。
↓
ラスト行までデータは入りましたが、以下のエラーが出て正常終了しませんでした。
「実行時エラー5 プロシージャの呼び出し、または引数の不正です」
以下にコードを載せます。
Sub shikubunkatsu()
Dim ku
Dim jyusyo
Dim i
For i = 2 To Cells(Rows.Count, 2).End(xlDown).Row '最終行の指定
jyusyo = Range("c" & i).Value
ku = InStr(jyusyo, "区")
Range("G" & i).Value = Left(jyusyo, ku)
Range("H" & i).Value = Mid(jyusyo, ku + 1)
Dim sen
Dim jyusyo2
jyusyo2 = Range("e" & i).Value
sen = InStr(jyusyo2, "線")
Range("I" & i).Value = Left(jyusyo2, sen)
Range("J" & i).Value = Mid(jyusyo2, sen + 1)
Dim kozoData
Dim kai
Dim takasa
kozoData = Range("D" & i).Value
kai = InStr(kozoData, "/")
takasa = InStr(kai + 1, kozoData, "/")
Range("J" & i).Value = Left(kozoData, kai - 1)
Range("K" & i).Value = Mid(kozoData, kai + 1, takasa - kai - 1)
Range("L" & i).Value = Mid(kozoData, takasa + 1)
Next i
End Sub
黄色行になるのはラストから5行目
Range("J" & i).Value = Left(kozoData, kai - 1)
のところです。
もしかしたら、この先の動画で解決するのかもしれませんが、
現状できるところまで取り組んだということで、添削をお願いします。
基礎編フォローアップで同じ課題について詳しく解説しています。
そちらを観ていただくのが早いかな、と思います。
それにしても、すごい地力ですね。パワーとうか、gooskaさんの芯の強さを感じます。
動画の閲覧期間が終了すると、小川先生とやり取りしたコメントも見れなくなるのでしょうか。
リアルの世界で手順書を書くときと同じです。
あとから気がついて前のほうとか途中とかに文章を追記したりしますよね。発想的にはそれと同じです。
>初めて、変数の設定をいつするのか?とか、小さなマクロを大きくしていくプロセスがわかりました。大変勉強になりました。ありがとうございます。
>
鉄筋/2F部分/6階建
を 「鉄筋」「2F部分」「6階建」 と セル毎に分ける考え方として、
①instr関数で 一番目 / の数値を出す
②instr関数で 二番目 / の数値を出す
③Len関数で 文字列全体 の数値を出す
③Left関数で、①の値を利用し、「鉄筋」を出す
④Mid関数で、①、②の値を利用し、「2F部分」を出す
⑤right関数で、②,③の値を利用し、「6階建」を出す
以上のような流れで合っていますでしょうか?(もしくはこの解答は、どこかにあるのでしょうか)
あとで、基礎編のフォロー動画講座に登場してきます。
それまでは、もっと基礎的なところをしっかりやってください。以下の手順についてコメントすると、Len関数、Right関数は不要かな。
>Kisoフォルダ の Kiso03_drill ファイルの モジュールdaihon0030 の [3] - 難 に 挑戦していますが、
>
>鉄筋/2F部分/6階建
>
>を 「鉄筋」「2F部分」「6階建」 と セル毎に分ける考え方として、
>
>①instr関数で 一番目 / の数値を出す
>②instr関数で 二番目 / の数値を出す
>③Len関数で 文字列全体 の数値を出す
>③Left関数で、①の値を利用し、「鉄筋」を出す
>④Mid関数で、①、②の値を利用し、「2F部分」を出す
>⑤right関数で、②,③の値を利用し、「6階建」を出す
>
>以上のような流れで合っていますでしょうか?(もしくはこの解答は、どこかにあるのでしょうか)
分かりやすい解説ありがとうございます。
ただこのリスト作成で最後の2列、サンプルを見ながら何度もトライしたのですがうまくいきませんでした。
この正解と、あとfindを使った構文を教えていただけると幸いです。
>ただこのリスト作成で最後の2列、サンプルを見ながら何度もトライしたのですがうまくいきませんでした。
作ったマクロを、このコメント欄にはりつけてください!
添削します。
>この正解と、あとfindを使った構文を教えていただけると幸いです。
find というと、エクセルのワークシート関数の、「Find関数」のことでよろしいですか。
(マクロにも「Find メソッド」というのがありますが、このケースには適用できないです。)
エクセルのワークシート関数「Find関数」を使った解決策は、こちらで紹介しています↓。
https://forum.pc5bai.com/lesson/course/9
もし違ったらすいません。