
2つの表がある場合は変数を2つつくるパターン。
2つの変数とは、[1]左の表のどこを調べているか、[2]右の表のどこにかくか、をそれぞれ指定する変数です。ハナコのステップ3「カコウする」とき、左右どちらの変数の加工をしているかに注意して、関係するところだけを加工します。書き出す表のデータ間の行をつめて書き出すためには、1行かきおえて次にII何行目にかくかを指定する仕組みをつくることがポイント。
migi=migi+1の仕組みがどう動くかをよくみてください。
この講座を含む定額コースに参加するか、この講座を購入することで、講座を利用できるようになります。
定額コースに参加すると、そのコースの利用期間中はいつでも講座を利用できます。
講座を購入すると、いつでも講座を利用できます。
学習記録としてメモを残す
質問や感想を投稿する
投稿時に 記号が \ に変換されてしまいますが、気にせず投稿してください。※投稿に必要な権限がありません。
このページへの投稿/コメント
ひたすら繰り返し入力して、指が覚えるほどにしなければならないと感じました。
> 仕事で非常によく使うコードだと思います。
> ひたすら繰り返し入力して、指が覚えるほどにしなければならないと感じました。
まさにですね。
前半最大のヤマ場ですが、これを理解して自分で書けるようになったならば、基礎編演習はほぼ間違いなくマスターできます。
愉しみつつ、トライしてください!!
こんばんは。
解説を読んでください。
まずは、特に、動画4。
それから、ついていける範囲で、動画と同じペースで書くこと。
「ついていける範囲」をだんだん長くしていくこと。
最終的には、解説等を見ないでもスラスラ書けるようになることです。
動画4でそこまでしっかりできるようになったら、動画5の内容も、いくぶん、簡単に感じられるようになるでしょう。
算数の勉強と同じです。
足し算→引き算→掛け算→割り算、と学習していきます。
足し算をスラスラできるようにならないと、引き算をできるようにはなりません。
引き算をスラスラできるようにならないと、掛け算をできるようにはなりません。
掛け算をスラスラできるようにならないと、割り算をできるようにはなりません。
掛け算、割り算、と、連続で「難しい」と感じたのであれば、少なくとも、「掛け算」までは戻ってしっかり復習すべきです。
もしも「掛け算」に戻ってもスラスラできなかったならば、「引き算」まで戻って復習です。
動画5が難しく感じられたのであれは、動画4に戻る。
動画4も難しく感じられたのであれは、動画3に戻る。
まずは、そういう努力を十分にしてください。
他の方法に頼ろうとするのは、そういう努力を十分にしてからです。
下記のマクロは、私が書いたマクロなのですが、解説動画を見て、
GOKEI=GOKEI+1の位置をRange〜の後に持ってくれば、
GOKEI=4にしなくて良かったんだと気づきました。
また、先生のマクロでは、if文のお団子部分のRangeを各列ごとに分けてマクロを書かれているのに対し
私はA8:C8という風に複数範囲をしてしたマクロを書きました。
今回は問題なく実行できたのですが、このような書き方が問題になることはありますか。
先生のように各列ごとに分けてマクロを書く方が良い理由など教えて頂きたいです。
※マックを使っていて、マクロをタイプする時、全て大文字入力になります。
基本、次の行に移った時に自動的に小文字大文字の調節がされるのですが、自分でつける変数名などは大文字のままです。
特に問題はないのですが、若干の見にくさを感じています。
もしこの設定の仕方をご存知でしたら、併せてお答え頂けると嬉しいです。
ーーーーーーー
Sub ZANGYO()
Dim GOKEI
GOKEI = 4
Dim GYO
For GYO = 8 To 17
If Range("C" & GYO).Value > 100 Then
GOKEI = GOKEI + 1
Range("F" & GOKEI & ":" & "H" & GOKEI).Value = Range("A" & GYO & ":" & "C" & GYO).Value
End If
Next
End Sub
ーーーーーーー
お楽しみいただけているようでなによりです。
> 私はA8:C8という風に複数範囲をしてしたマクロを書きました。
> 今回は問題なく実行できたのですが、このような書き方が問題になることはありますか。
> 先生のように各列ごとに分けてマクロを書く方が良い理由など教えて頂きたいです。
転記元と転記先で列の順番が同じであればそれでもよいです。
でも、そうとは限りませんね。
> ※マックを使っていて、マクロをタイプする時、全て大文字入力になります。
僕はMacは詳しくはないのですが、「mac 大文字 小文字 切り替え」で検索したら以下の記事等がでてきました。
https://techacademy.jp/magazine/9881
こういう方法では解決できない類の問題が起きている、ということでしょうか。
> 知っていることを応用しながら、問題を解くのがパズルみたいで楽しいです。
>
> 下記のマクロは、私が書いたマクロなのですが、解説動画を見て、
> GOKEI=GOKEI+1の位置をRange〜の後に持ってくれば、
> GOKEI=4にしなくて良かったんだと気づきました。
>
> また、先生のマクロでは、if文のお団子部分のRangeを各列ごとに分けてマクロを書かれているのに対し
> 私はA8:C8という風に複数範囲をしてしたマクロを書きました。
> 今回は問題なく実行できたのですが、このような書き方が問題になることはありますか。
> 先生のように各列ごとに分けてマクロを書く方が良い理由など教えて頂きたいです。
>
> ※マックを使っていて、マクロをタイプする時、全て大文字入力になります。
> 基本、次の行に移った時に自動的に小文字大文字の調節がされるのですが、自分でつける変数名などは大文字のままです。
> 特に問題はないのですが、若干の見にくさを感じています。
> もしこの設定の仕方をご存知でしたら、併せてお答え頂けると嬉しいです。
> ーーーーーーー
> Sub ZANGYO()
>
> Dim GOKEI
> GOKEI = 4
>
> Dim GYO
> For GYO = 8 To 17
>
> If Range("C" & GYO).Value > 100 Then
> GOKEI = GOKEI + 1
> Range("F" & GOKEI & ":" & "H" & GOKEI).Value = Range("A" & GYO & ":" & "C" & GYO).Value
> End If
>
> Next
>
> End Sub
> ーーーーーーー
コードの意味は深く考えず、最終行なのでROWで下からぶつかったところ・・・?と想像しつつ、とりあえず活用させていただきます。
ここまでの動画の練習問題も日々の業務に本当に役に立っていて、毎日進化中の自分、数週間前の私とは明らかに違って、魔法にかかっているみたいです。
発展編へ向けて頑張ります☆
ガンガンスキルアップしてくださいませ!!
> ありがとうございます!
> コードの意味は深く考えず、最終行なのでROWで下からぶつかったところ・・・?と想像しつつ、とりあえず活用させていただきます。
>
> ここまでの動画の練習問題も日々の業務に本当に役に立っていて、毎日進化中の自分、数週間前の私とは明らかに違って、魔法にかかっているみたいです。
> 発展編へ向けて頑張ります☆
元データを一つ一つ検索ソフトに打ち込んで、半日くらいかけて行うこともしばしばあって何とかならないかと思い始めて数か月になります。
先日、職場でプログラムを書き上げて一気に終わった仕事を見て、あまりの気分の良さに定時でさっさと帰ってきました♪
毎日の業務なので、検索値の最終行を自動で判断してくれるようなマクロを書けるようになると、さらに楽になるのに。。。と淡い期待を抱いています。
一週間先の自分が楽しみな毎日です。
お仕事で技が劇的にキマった、といことでしょうか (*´ω`*)
最終行を調べる方法は、パクり用のコードを示す分には簡単です。
たとえば、A列でデータの入っている一番最後の行の行番号を調べるには、以下を使ってください。
Dim hen As Long
Dim mx As Long
mx = Range("A" & Rows.Count).End(xlUp).Row '[*]
For hen = 3 To mx
Next
」ただし、[*]の行のコードの意味を解説するには手間がかかります。
解説は発展編1までお待ちください。今は、とりあえずうのみにして活用されると良いかと思います (*´ω`*)
> マクロを学んでみようと思ったきっかけの一つがこれでした。
> 元データを一つ一つ検索ソフトに打ち込んで、半日くらいかけて行うこともしばしばあって何とかならないかと思い始めて数か月になります。
>
> 先日、職場でプログラムを書き上げて一気に終わった仕事を見て、あまりの気分の良さに定時でさっさと帰ってきました♪
>
> 毎日の業務なので、検索値の最終行を自動で判断してくれるようなマクロを書けるようになると、さらに楽になるのに。。。と淡い期待を抱いています。
>
> 一週間先の自分が楽しみな毎日です。
何か数えるときはこの式がでるように記憶します。
よかったですね。
この問題ができるようになれば、演習前半での重要テーマはほぼ終わったようなものです。
> きたないコードになりましたが
ということですので、きれいなコードになるまで何度も練習してください。
ここをスラスラできるようになっておくかどうかで、あとの演習の負担がぜんぜん違います。
> きたないコードになりましたができてやり応えありました。ヒントがあったので助かりました。動画4にあったgoukei=goukei+1 の記憶が行かせました。しばしばたとえばcnt=cnt+1といったコードを見かけますが
> 何か数えるときはこの式がでるように記憶します。
前回のしそ巻きカウントで十分に復習を積みましたので
今回の問題は、どちらも完璧でした(≧▽≦)
条件を満たす時だけカウント変数に1が加算される
という仕組みが、解いていて心地よく楽しいです。
ちょっと脇道なのですが、
職場に、MS officeの元セミナー講師だった人がいて、VBAにも詳しいというので、
「今、COUNTIF関数をVBAで書く演習を解いていて
なかなか楽しい」話をしたんですね。
解き方として、gokei=gokei+1のように条件を満たしたときに
加算していく方法だと説明したところ、
関数をそのままVBAに書く方法があるよ、と
話をさえぎられてしまいました(;´・ω・)
ワークシート関数を、そのままVBAに書く方法があることは
私も少し見聞きしたことはありますし、
発展編など先の講座へ行けば学べるのかもしれませんが、
今のところ、私が知りたいのは
ワークシート関数をそのままVBAで実行する方法と
今回のように、別の手法で同じ結果を得る方法と
処理速度としては、どうなのか?
ということです。
小川先生の見解をざっくりお話いただけましたら
幸いです。
gooska
> 小川先生、こんにちは。
> 前回のしそ巻きカウントで十分に復習を積みましたので
> 今回の問題は、どちらも完璧でした(≧▽≦)
> 条件を満たす時だけカウント変数に1が加算される
> という仕組みが、解いていて心地よく楽しいです。
v(^^*
> ちょっと脇道なのですが、
> 職場に、MS officeの元セミナー講師だった人がいて、VBAにも詳しいというので、
> 関数をそのままVBAに書く方法があるよ、と
> 話をさえぎられてしまいました(;´・ω・)
ああ、いますね。そういう方。
基礎編は、シンプルな道具の組み合わせでしっかり成果を出せるようになることを目標に作った講座です。
というのは、以下の動画でも説明していますが...。基本の手順をしっかりマスターするまでは、道具ばかりいろいろ手渡しても意味がないので。
たくさん道具を渡しても使い分けられなければ意味がないですし、「専用の道具がないと仕事にならない」という状況は望ましくありません。
たとえ手間でも手元の材料だけで仕事できる人のほうが実務では役に立ちます。
あと、そもそも、初心者は、頭に入れられる情報量が少ないです。
にもかかわらず別解をいろいろ渡してしまうと、もっと大事なことが頭から抜けてしまったりもします。なるべく使いまわしの効くマスターキーだけ渡すのが正解です。
以下も参考にしてください。
エクセルマクロ研修の選び方2-カレーライスとパソコン1
https://forum.pc5bai.com/lesson/page/891
その先生の話は、料理に例えれば、「自分で火をおこして土鍋でゴハンを炊く方法を学んでいる」と言ったら、「炊飯器を使えばボタンひとつでゴハンが炊けるよ」と言われたようなものです。
でも、それでは、「お米を炊く」ということの本質はつかめません。
鍋でお米を炊くことを通じて煮物なり汁物なりの作り方を学ぶ準備ができたかもしれないのに、お米を炊くのに炊飯器を使わせたら、そういう学びの機会を奪ってしまいます。
ウチの演習で言えば、「条件に該当したときにカウンターの値を増やす」という「しそ巻きカウント」の演習は、以下にそのまま応用可能です。
[a] SumIf関数のような条件に一致するものの合計の値を算出するとき
[b] 転記先のセルを指定するとき
> 前回のしそ巻きカウントで十分に復習を積みましたので
> 今回の問題は、どちらも完璧でした(≧▽≦)
という受講生さんのコメントが、まさに、この順序で学ぶことでうまく行っているということを示しています。
しそ巻きカウントの演習の代わりに worksheetfunction.sumif を渡していたら、[a]は応用でできるかもしれないけど、[b]はムリですね。
鍋でお米を炊く経験の代わりに炊飯器を渡すとは、そういうことです。
あと、 worksheetfunction.sumif では表現しきれないようなややこしい条件になったときに太刀打ちできません。料理に例えれば、炊飯器ではどうしようもない料理を作りたいとき、自分で解決する能力があるかどうか?です。
「専用の道具がないからムリ」なんて言ってたら、仕事にならないですね ヾ(´ー`;)ノ
一般的に、相手の学習状況を鑑みずに自分の知識を晒す人は、以下のどれか(あるいは複数)です。
[1] 知識を渡せば教育者の役割は終わり、と思っている。
[2] 「基本の手順をしっかりマスターするまでは、道具ばかりいろいろ手渡しても意味がない。という以上に、害悪」ということをそもそも知らない。
[3] 相手が何の話をしているのか、その本質的な部分を感じ取ってない(したい話の本質は、「演習が楽しい」だったはずです)。
[4] 単に知識自慢したい。相手が知らないだろう情報を示すことで、優位性を示したい。
相手の技量次第では、そういう道具を渡すのが適切なタイミング、ということもありえますが...。
「COUNTIF関数をVBAで書く演習を解いていてなかなか楽しい」と言っている人には、まだ早いかと。
> 今のところ、私が知りたいのはワークシート関数をそのままVBAで実行する方法と今回のように、別の手法で同じ結果を得る方法と処理速度としては、どうなのか?ということです。
WorksheetFunctionは発展編1で扱います。
使いこなせる人には、確かに、状況が整っていれば、便利です。でも、発展編1で学ぶということはどういうことか?というと...。そんなにシンプルな道具ではないということです。ちょっとクセもあります。
「処理速度としては、どうなのか?」ということは、今は知る必要はないかとは思います。
が、もしご興味あれは、試してみてください。僕に聞くよりそのほうが早いです。
先日は、コメントと詳しい解説をありがとうございました。
基礎編では、覚える知識を絞って、マクロを動かす仕組みをマスターする
ことに重点がおかれていたんですね。
確かに、一度基本食材でカレーを作る方法をひととおり覚えたら、あとは
食材を変えたり、途中からアレンジして別メニューを作るのは
さほど難しくありませんものね。
炊飯器でボタンスイッチ一つ押すご飯の炊き方を覚えたところで
なんの応用も効きませんが、土鍋の炊き方をマスターすれば、
どうやってご飯が炊けるのかが分かりますよね。
(実際炊飯器が壊れて、土鍋で炊くようになってから、
美味しい炊き方が分かった実体験があるのです)
元講師の方とは、短時間の会話でこちらの意図が
伝わらなかっただろうことと、今度VBAを使った仕事をすることを
伝えてあったので、私のレベルを推し量る意図で、
「VBAで関数をそのまま使う方法がある」知識をもっているかどうか
試したんでしょうね。
小川先生のおっしゃるとおり、私は今のレベルでの演習が楽しいことを
共感してほしかったのですけれどね(;´・ω・)
でもちょっと悔しかったので、今はまだ習っていない知識を
いずれきちんと身につけたいと決心しました。
前にすこし独学していた時は、最初にドカンと知識が来て、
それをいくら覚えても、どう使ったらよいかの部分が抜けていて、
全然前に進めなかったです。
最小限の骨組でマクロを使いこなせるようになってから、
知識や応用力を徐々に増やしていく小川先生の手法で、
これからも頑張りたいと思います(*´▽`*)
gooska
エクセルマクロなんて、料理といっしょですので。
土鍋でゴハン炊いた経験があるなら、マスターは確実でしょう☆
ひきつづきお楽しみください (^^*
> 元講師の方とは、短時間の会話でこちらの意図が伝わらなかっただろうこと
僕は現場にはいなかったので、詳細はさすがに分かりません。
gooskaさんがそう感じられたのならば、そうだったのでしょう。
ちなみに、スキルの示し方には、二通りがあります。
[1] 「すでに高いスキルを有している」ということを示すこと
[2] 「伸び率が高い」というこう示すこと
エクセルマクロより分かりやすい例として、「TOEICテストなら」ということで示してみます。
すると、 [1], [2]それぞれ、こんな感じです。
[1] 私のスコアは、900点です。
[2] 私のスコアは、たった3ヶ月の独学で、550点から780点にあがりました
今のgooskaさんの位置からなら、[2]を狙うべきでしょう。
あと、仕事上の問題を解決する力があるのか?ということも重要ですね。
実務で必要なのは、「炊飯器のような適切な道具がない限り解決できません」という道具依存な力ではありません。
「いざとなったら、炊飯器や電子レンジ、オーブンのような適切な道具がなかったとしても、鍋ひとつでなんでも解決します」というサバイバル能力です。
「ハマれば3時間かかっていた仕事を1分で解決できるようになる。でも、ハマらないとさっぱり解決できない」というより、「3時間かかっていた仕事が10分で終わるようになる」という課題解決を2つできる人のほうが仕事では成果を出せるということです。
何が言いたいのか?というと。
>私が知りたいのは ワークシート関数をそのままVBAで実行する方法と 今回のように、別の手法で同じ結果を得る方法と 処理速度としては、どうなのか? ということです。
↑
上記のような疑問は、今のgooskaさんには、あまり意味がないです。
「3時間が5分」を「3時間が1分」にしたとしても、4分の改善にしかなりません。(*)
「3時間が5分」になったら、別の「3時間が5分」な結果を出すべきです。そうすれば、2時間55分相当の改善になりますから。
であれば gokei = gokei + range("E" & c).value を worksheetfunciton.sumif にすることの追求より、別の演習問題をどんどん解いて別の「3時間が5分」な結果を出すためのレパートリーを増やしにいったほうが得策です。
(*)むしろ、こんなことばかりしていると、実務に役立たないことばかり追求するエクセルオタクになってしまって、かえって職場でのチャンスを逸します。
マクロ実行してすぐに気づきましたが・・・
ケアレスミスですが、こういう小さいミスが後々大変になるので、
ハコをきちんと意識したいと思いました。
おはようございます。
> migi=migi+1を記述する場所を最初間違えてしまいました。(endifの後)
> マクロ実行してすぐに気づきましたが・・・
すぐに実行してすぐに気づく方についてはもちろん問題ないですw
この課題については、最近、別の説明の仕方をできることに気づきました。
いずれ、その新しい説明での動画も up したいと思っています。
> migi=migi+1を記述する場所を最初間違えてしまいました。(endifの後)
> マクロ実行してすぐに気づきましたが・・・
> ケアレスミスですが、こういう小さいミスが後々大変になるので、
> ハコをきちんと意識したいと思いました。
・変数を二つ作る
・右のスタートする場所を指定する
・左のリストアップする範囲を指定する
・If文で条件付けをして、条件に合うなら右の表に転記する。
条件にあてはまらないならElseで次のデータを見に行く
・右のリストアップを順番にしていくためには、migi=migi+1!
めちゃくちゃシンプルでいて、かつ確実に動くマクロ!かっこいい!
シンプルに言うと、以下のスキルの組み合わせです。
・変数の値を自分で変更する
・変数の値を変えるタイミングを自在に指定できる
> リストアップするには、
> ・変数を二つ作る
> ・右のスタートする場所を指定する
> ・左のリストアップする範囲を指定する
> ・If文で条件付けをして、条件に合うなら右の表に転記する。
> 条件にあてはまらないならElseで次のデータを見に行く
> ・右のリストアップを順番にしていくためには、migi=migi+1!
>
> めちゃくちゃシンプルでいて、かつ確実に動くマクロ!かっこいい!
だんだん慣れてきました。パターンを完全に覚えるまで、とにかく繰り返せばいいのですね。
慣れていく過程で、おぼろげだった理屈の理解も、意外と早くついてくるような気がします。
高校時代にこういう勉強の仕方をしていたらなぁ・・・と残念です(笑)
まだまだですが、練習あるのみ gooska
>慣れていく過程で、おぼろげだった理屈の理解も、意外と早くついてくるような気がします。
>高校時代にこういう勉強の仕方をしていたらなぁ・・・と残念です(笑)
まさに。
理系科目の学び方というのは、こういうものです。
基本となる考え方をしっかり学べる良問をくり返せば、応用力は勝手に身につきます。
変数が2つあり、入れ子もあると難しいですね。変数の指定を逆にしてしまったりと、何度もやり直しました。
身体で覚えるまで丸暗記のつもりで、、、ということなので、繰り返し練習しますね。
変数=変数+1と、初期値の設定は繰り返すうちに分かってきました。
gooska
>変数=変数+1と、初期値の設定は繰り返すうちに分かってきました。
ここが分かればまずはステキ!です。
本日で基礎講座閲覧期間が終了します。この4か月間、実際実務でも使用しました。まだ慣れていないため、マクロを作るのに時間がかかってしまった状況でしたが、この講座を受講したおかげで、マクロだけでなく、すべての仕事面で、効率的にしごとができたと思います。また、質問のご返答の中で、自分の弱点を指摘してもらうなんてことは、職場の同僚からはなかなか言ってもらえるような年齢でもなくなってきているため、非常に貴重でした。%365も毎日楽しみにしています。
ありがとうございました。
最後に質問です。これから特打ちを購入しようと思います。自宅のキーボードと職場のキーボードが違うのですが、練習するなら職場と同じキーボードで練習しようと思います。好きにしろといわれそうですが、どう思われますか。
おはようございます。
> 実際実務でも使用しました。まだ慣れていないため、マクロを作るのに時間がかかってしまった状況でしたが、この講座を受講したおかげで、マクロだけでなく、すべての仕事面で、効率的にしごとができたと思います。
よかったです☆
> また、質問のご返答の中で、自分の弱点を指摘してもらうなんてことは、職場の同僚からはなかなか言ってもらえるような年齢でもなくなってきているため、非常に貴重でした。
> %365も毎日楽しみにしています。
こちらの面でもお役に立てたようでよかったです☆
メールマガジンも、お役立てください。
>最後に質問です。これから特打ちを購入しようと思います。自宅のキーボードと職場のキーボードが違うのですが、練習するなら職場と同じキーボードで練習しようと思います。好きにしろといわれそうですが、どう思われますか。
まずは、その両方の場合のメリット・デメリットを書き出してみてください。
お世話になっております。
>>最後に質問です。これから特打ちを購入しようと思います。自宅のキーボードと職場のキーボードが違うのですが、練習するなら職場と同じキーボードで>>練習しようと思います。好きにしろといわれそうですが、どう思われますか。
>まずは、その両方の場合のメリット・デメリットを書き出してみてください。
自宅のキーボード
メリット:取り換える必要がない。職場のキーボードより小さいので場所を取らない。
デメリット:慣れればいいことかもしれませんが、Altキーが左下に1個しかない。キーそのものが小さい。当然のことながら職場のキーボードとキーの位置 が微妙に違う。
職場のキーボード
メリット:職場と同じキーボードで練習すれば、職場での仕事の効率が上がる。
デメリット:練習は自宅でするため、キーボードを付け替えなければならない手間が発生する。(大したことではありませんが。すでに持っていますし。)
今回、受講している最中も、ガンガン打ち込んでって感じより、動画を見ながら、確認する程度のスピードで打ち込んでいましたし、実際、自宅では大量に入力する、かつ短時間でしなくては、なんてことはありませんので、自宅のキーボードで特打ちを練習するのは得策ではないと、自分では半ば結論は出ております。
ですが、ひとことコメントいただけると幸いです。
特定のキーボードでしか活用できないスキル自体無意味です。
車の運転に例えれば、たとえば「カローラ2」しか乗りこなせない人を評価できるかということです。
>小川様
お世話になっております。
>>最後に質問です。これから特打ちを購入しようと思います。自宅のキーボードと職場のキーボードが違うのですが、練習するなら職場と同じキーボードで>>練習しようと思います。好きにしろといわれそうですが、どう思われますか。
>まずは、その両方の場合のメリット・デメリットを書き出してみてください。
自宅のキーボード
メリット:取り換える必要がない。職場のキーボードより小さいので場所を取らない。
デメリット:慣れればいいことかもしれませんが、Altキーが左下に1個しかない。キーそのものが小さい。当然のことながら職場のキーボードとキーの位置 が微妙に違う。
職場のキーボード
メリット:職場と同じキーボードで練習すれば、職場での仕事の効率が上がる。
デメリット:練習は自宅でするため、キーボードを付け替えなければならない手間が発生する。(大したことではありませんが。すでに持っていますし。)
今回、受講している最中も、ガンガン打ち込んでって感じより、動画を見ながら、確認する程度のスピードで打ち込んでいましたし、実際、自宅では大量に入力する、かつ短時間でしなくては、なんてことはありませんので、自宅のキーボードで特打ちを練習するのは得策ではないと、自分では半ば結論は出ております。
ですが、ひとことコメントいただけると幸いです。
ありがとうございました。
>受講生 さん:
特定のキーボードでしか活用できないスキル自体無意味です。
車の運転に例えれば、たとえば「カローラ2」しか乗りこなせない人を評価できるかということです。
こういうパターンは利用頻度が多そうなので、動画を見ないでもすらすら書けるよう、頑張って覚えたいと思います。
はい、こういうのはパターンなので、まる覚えしてしまってください。
まる覚えすべきパターンは実はそんなにたくさんありません。僕が数えるかぎり、7つ。全18回のフォロー講座では、その基本パターンとアレンジ技の代表的なものを網羅しています。
このパターンをマスターしてしまえば、For Next構文とIf文だけでもかなりの仕事が片付くようになります。
>動画を見るまで「変数2つ?」のヒントがさっぱりわからず、全く思い付きませんでした。
>こういうパターンは利用頻度が多そうなので、動画を見ないでもすらすら書けるよう、頑張って覚えたいと思います。
>
migi=migi+1でないといけないのでしょうか?覚えたらよいのでしょうが、あの場所にこの入力は発想がつかず、応用が利かないのではないか心配です。
下記でも行けるのではないかと思いやってみたら、最初の1行の部分だけが繰り返されてうまくゆきませんでした。
Sub koriha()
Dim hidari
Dim migi
For hidari = 8 To 17
For migi = 5 To 14
If Range("c"&hidari).Value > 100 Then
Range("f" & migi).Value = Range("a" & hidari).Value
Range("g" & migi).Value = Range("b" & hidari).Value
Range("h" & migi).Value = Range("c" & hidari).Value
End If
Next
Next
End Sub
うまくいかないなら、僕がお伝えしたやりかたをまず鵜呑みにして覚えてください。
> あの場所にこの入力は発想がつかず、応用が利かないのではないか心配です。
パターンはそんなにありません。
無駄なことはいっさい教えていませんので、必要な知識と思ってあきらめて、身体が勝手にやってくれるまで練習してください。
以下の質問には、僕のお伝えしたやり方でできるようになってから改めて質問していただければ、回答します。
でも、そのころには、この質問自体バカバカしく感じられることでしょうが。
>質問です。
>migi=migi+1でないといけないのでしょうか?覚えたらよいのでしょうが、あの場所にこの入力は発想がつかず、応用が利かないのではないか心配です。
>下記でも行けるのではないかと思いやってみたら、最初の1行の部分だけが繰り返されてうまくゆきませんでした。
>Sub koriha()
>Dim hidari
>Dim migi
> For hidari = 8 To 17
> For migi = 5 To 14
> If Range("c"&hidari).Value > 100 Then
> Range("f" & migi).Value = Range("a" & hidari).Value
> Range("g" & migi).Value = Range("b" & hidari).Value
> Range("h" & migi).Value = Range("c" & hidari).Value
> End If
> Next
> Next
>End Sub
左から右へのリストアップは、業務でも多いので、とてもありがたいです。これを応用していくと別シートからも参照できますか?Worksheets("Sheet1")みたいに使う事もできそうだと思いました。
migi=5、migi=migi+1のコードも、言われるだけでは良く分からなかったのですが、実際に動作に合わせて作ってみることで確認させていただきました。
ありがとうございます。
こういうのは、パターンですね。
さいきんもっと簡単な解説の動画を作ったのですが、まだ編集完了していません。
それが編集完了したら、またお見せいたします。理解が深まれば、とも思っています。
ひきつづきよろしくお願いいたします。
>初めてリストの作り方を見させていただきました。こうやって作るんですね…。
>左から右へのリストアップは、業務でも多いので、とてもありがたいです。これを応用していくと別シートからも参照できますか?Worksheets("Sheet1")みたいに使う事もできそうだと思いました。
>migi=5、migi=migi+1のコードも、言われるだけでは良く分からなかったのですが、実際に動作に合わせて作ってみることで確認させていただきました。
>ありがとうございます。
ひとつの表から別の表に転記するときの超基本形です。
>2つの表を操作する処理として、for next文を2つ記入するのかと思いましたが、入力側をfor next文で、出力側はカウンターに+1していくこと。とても良い問題だと思います。
まず考えましたが、変数の使い方が分からず、解説動画を見ました。
見たら「なるほどー!!」って感じです。特にmigi=migi+1の役割に!
配置する場所も重要なんですね。パズルのようで楽しいです。
これを自力で書けるようになれば、発展編1の受講はぜんぜんOKです。
パズル感覚で楽しんでいただければと☆
>今回は前回に比べて難しかったです。
>まず考えましたが、変数の使い方が分からず、解説動画を見ました。
>見たら「なるほどー!!」って感じです。特にmigi=migi+1の役割に!
>配置する場所も重要なんですね。パズルのようで楽しいです。
ハナコのステップの真価が発揮されるのは、こういう仕事ですね。
nothing is paricularly hard if you divide it into small jobs. - henry ford
とはいえ、「どう分割するか」というところがセンスの分かれ目。
この動画で示した細分化のステップが極意です。
> 実務の問題解決で(マクロに限らず様々なレベルの問題で)袋小路に入ってしまっていると感じているときはこのような考え方で取り組みたいと思いました。
ご指摘のとおりです。
マクロで培える考え方には、リアルの世界での問題解決に応用できるものも多いです。
ひきつづき、お楽しみを☆
>お世話になります。今回もすごく勉強になりました。この例題のやり方自体はすぐに思いつきましたが、解説がすごいと思いました。(正直いって解説を見て初めて問題のヒントの真意ががわかりました。(^^; )・・・ひとつの表にまず着目してその範囲での条件をクリアして、それから次のステップに取り組む、というのはなるほどと思いました。・・・実務の問題解決で(マクロに限らず様々なレベルの問題で)袋小路に入ってしまっていると感じているときはこのような考え方で取り組みたいと思いました。引き続きよろしくお願いいたします。
range("A6").value 等のマクロ記入の際、("A6")入力時の指の動き及び順番はどうされてますか?
動画で、小川さんの入力を観ている限り、左から順に、 ("A6)と入力されていると思います。
[shift]と組み合わせて入力する文字や記号の場合、[shift]ではない方の入力は、
[shift]を押す手と逆の手を使う。という教えを守ると下記のようになると思います。
[shift]が右に行ったり左に行ったりして、なかなかスムーズに入力ができません。
これは練習しかないのでしょうか?
どうしても、マクロ記入時は、切っても切り離せない入力パターンなので、
ご質問させていただきました。
説明が分かりにくかったら申し訳ございません。
ご教授のほどよろしくお願いいたします。
■以下、私の指の動き及び順番です。
1、左手 小指 [shift] + 右手 中指 [8] で (
2、右手 小指 [shift] + 左手 薬指 [2] で "
3、右手 小指 [shift] + 左手 小指 [A] で A
4、左手 小指 [shift] + 右手 人指指 [6] で 6
5、右手 小指 [shift] + 左手 薬指 [2] で "
6、左手 小指 [shift] + 右手 薬指 [9] で )
すいません。回答漏れになっていました。
海外の僻地からの投稿だったので、きっちり送信できなかったのかも。
>動画で、小川さんの入力を観ている限り、左から順に、 ("A6)と入力されていると思います。
>
>[shift]と組み合わせて入力する文字や記号の場合、[shift]ではない方の入力は、
>[shift]を押す手と逆の手を使う。という教えを守ると下記のようになると思います。>
>[shift]が右に行ったり左に行ったりして、なかなかスムーズに入力ができません。
>これは練習しかないのでしょうか?
練習してできるようになることではあります。
力業でできるようになってしまうのがよいかと。
ですが、以下の方法でもよいかと思います。
[1] range(""
と書く
[2] カーソルキー「←」を一度押す
[3] A6
と書く
[4] カーソルキー「→」を一度押す
[5] )
と書く
あるいは、以下も。
[1] range
と書く
[2] ()
と書く
[3] カーソルキー「←」を一度押す
[4] ""
と書く
[5] カーソルキー「←」を一度押す
[6] A6
と書く
[7] End キーを一度押す
お好みで好きな方法を採用していただければと (^^
モロッコの旅お疲れさまでした。
質問の件、ご回答ありがとうございます。
海外の僻地への旅ということで、ご回答頂けるまで
時間がかかるのは承知しておりましたので大丈夫です。(^^
入力の件、教えていただいた方法を試してみます。
入力しやすい方法を見つけて、入力スピードUPに努めます。(^^
ありがとうございました。
>匿名 さん:
>
>すいません。回答漏れになっていました。
>海外の僻地からの投稿だったので、きっちり送信できなかったのかも。
>
>
>>動画で、小川さんの入力を観ている限り、左から順に、 ("A6)と入力されていると思います。
>>
>>[shift]と組み合わせて入力する文字や記号の場合、[shift]ではない方の入力は、
>>[shift]を押す手と逆の手を使う。という教えを守ると下記のようになると思います。>
>>[shift]が右に行ったり左に行ったりして、なかなかスムーズに入力ができません。
>>これは練習しかないのでしょうか?
>
>練習してできるようになることではあります。
>力業でできるようになってしまうのがよいかと。
>
>
>ですが、以下の方法でもよいかと思います。
>
>[1] range(""
>
>と書く
>
>[2] カーソルキー「←」を一度押す
>
>[3] A6
>
>と書く
>
>[4] カーソルキー「→」を一度押す
>
>[5] )
>
>と書く
>
>あるいは、以下も。
>
>[1] range
>
>と書く
>
>[2] ()
>
>と書く
>
>[3] カーソルキー「←」を一度押す
>
>[4] ""
>
>と書く
>
>[5] カーソルキー「←」を一度押す
>
>[6] A6
>
>と書く
>
>[7] End キーを一度押す
>
>
>
>お好みで好きな方法を採用していただければと (^^
>
とんでもありません。
おもしろい質問ありがとうございました。
ひきつづき、いつでも何でもご相談&ご質問ください。
どうぞ、よろしくお願いいたします。
もう発展編レベルなのにここに戻ってきて復習する、ということがすごい!
ひきつづき、お楽しみを。動画講座は、やり直すたびにまたいろいろ学べることがあるかと思います。
>改めて復習して勉強になります。
昨日みた動画のマクロを書いてみて、できてから今日の同がを見るようにしています。
昨日の内容でもまださらさらかけませんが、手ごたえを感じています。
OK。くり返し、何度も観て学んでください。
お題を観た瞬間に、僕がしている説明がすべて頭に浮かぶようになったら勝ちです。
>ほかの動画を学習してから、再度動画を見たら、前回気づかなかった発見がありました。
>昨日みた動画のマクロを書いてみて、できてから今日の同がを見るようにしています。
>昨日の内容でもまださらさらかけませんが、手ごたえを感じています。