• ベストアンサー

マクロの作り方(初心者編)

こんばんは、いつも皆様にはお世話になっております。 私も、しっかりわかるようになったら、皆さんにアドバイスする立場に回りたいと思います。 今回は、マクロの作り方で悩んでいるのでどうかご教示ください 1 まずマクロの記録を実行した際に小さいボックスが現れなくなった事です。(最初は現れていました)。 2 今行が320まで有ります。列がA~AQまで43まであります、まずA1に簡単な関数の式を入れます。このとき、何処でもいいのですがAR1を参照にした関数の式です。これをまずA1、A2とコピーしてAQまでコピーして、次の行に移ります。次の行もおなじくコピーしていきたいのですが、これを手作業でやると2日間ぐらい掛かってしまいます.マクロをつかってコピーするほうほうはないでしょうか?後そのマクロの実行の仕方もご教示下さい。お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.4

こんにちは。#2です。 >ロト6の出現回数を1~43の番号の下に○を付けるマクロ それを最初に書いてほしかったですね。私のはミニロトですが、それは考え方自体が違います。私自身は、ミニロトとか、ロト6というのは、実際には購入したりしませんが、サイトで相談を受けて、その時は、質問者さんがマクロの要望はなかったのですが、マクロの勉強のために作りました。 (実際のマクロは、一切公開しておりません。理由は、ミズホ銀行を間接的に利用しているので、その著作権の問題よりも、実際に、不定期でサイトのレイアウトなどを変えられると、そのマクロのスクリプトに改編の義務が生じます。放置しておけばみっともないし、他人から言われて改編もしたくないというのが理由です。まして、ヒット率がどうこうと言われたくもありません。絞込み自体は、人の判断ですから、それには責任はありませんが。) 利益を伴うものですから、本当にやっている人は、細かいノウハウは、あまり詳しく教える人はいないと思います。インターネット検索でそうしたExcelブックを発表している人もいます。ただ、それなりにどれも勉強しているのだとは思います。 関数の場合は、FREQUENCY関数を使います。 簡単な関数ですと、CountIf 関数を使います。 それと、アドバイスとしては、長期のデータだと、逆にヒット率が落ちます。だいたい、1年か1年半ぐらいに絞ったほうがよいようです。データは、INDEX関数で範囲を狭めます。出てきたデータを固定値にして、降順に並べ替え、最後に、棒グラフにすると分かりやすいです。

その他の回答 (3)

  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.3

>2 ・・・マクロをつかってコピーするほうほうはないでしょうか?   質問の主旨がよく分かりませんが、マクロでコピーできるなら、作る手間を考えると手動でコピーしてもいいのでは? >これをまずA1、A2とコピーしてAQまでコピーして、次の行に移ります。   これは、『これをまずA1、B1とコピーしてAQまでコピーして・・・』でしょうか >次の行もおなじくコピーしていきたいのですが、  これを手作業でやると2日間ぐらい掛かってしまいます.   この<コピー>をマクロで作っても、手作業でもたいした時間は変わらない? 以下は参考にしてください。 Excelでのシートの作り方については、  [1] 式を作るときは、『コピーできる式』を作る。  [2] また、なんでもマクロではなく、機能があれば、それを使う。 ように指導します。 [1]について、 この質問では、列(右)方向にはコピーできていて、行(下)方向のコピーが大変なような説明ですが、<コピーできる>算式なら、問題はないはずです。 どうも、『AQまでコピーして』で作った算式が下にコピーできない算式になってはいないでしょうか。 例えば、九九(小学校でやる9×9の表です)の表を計算式で埋めようとすると、1×1の式をうまく作ると81箇所にコピーできます。   A B C D E 1   1 2 3 4 2 1 3 2 4 3  B2に=A2*B1 ではコピーできません  B2に=$A2*B$1 とすればコピーできます  >何処でもいいのですがAR1を参照にした関数の式です      この意味もよく分かりませんが、A1~AQ1までを下方向にコピーできる算式にすべきでしょう。    そのためには、九九の表のように『絶対参照』を使えないか検討すべきでしょう。     [2]について、  補足:>IF (ISNA(・・・・),"","○”) ・・・    これもよく分かりませんが、例えば、書式で、    ;;;"○" とすれば、文字が入力されていれば○    "○";"○";"○";"○" とすれば、数値や文字の何か入力があれば○  になります。算式の代わりに、このような書式が使えるかもしれません。    また、条件付書式を使えば、算式は不要かもしれません。

hide_m
質問者

補足

ご返答有り難う御座います。 全部数式になってしまうような、ものならコピーするのは現実的ではないでしょうか?実際のことを言うとロト6の出現回数を1~43の番号の下に○を付けるマクロを作りたいのです。が手作業でもできるなら、そうします。マクロは万能ではないのでしょうか?320回のデータになりますので、相対参照になります。書きたかった事はA1に条件式を入力して、A2にそれをコピー、次にA1または、A2をA3にコピー。右端まで行ったら下の行にコピーという事でした。わかりにくい文章だった事をお詫びします。

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

こんばんは。 今のご質問だけですと、私には分かりません。 >A1、A2とコピーしてAQまでコピーして、次の行に移ります。 ご説明では、全部を、数式で埋め尽くすように思えますので、現実的ではありません。もう少し、具体的で現実的な内容でないと、イメージが沸きません。もし、マクロを自分のものにしてみたいのでしたら、どのように理路整然と行えるのか、仕事の内容を、まとめてみるとよいです。記録マクロでも、最初に、自分のイメージの中で、手順を決めてから、進めていくとよいです。 1 のほうは、その小さなボックスというのは、 表示-ツールバー-ユーザー設定 ツールバー-記録終了 というものです。このフローティング・ボタンは、消えてしまうので、あまり使いよいとは思いません。私は、ツールバーの 「Visual Basic」というツールバーを常に、ツールバーの上右端の部分に貼り付けてあります。 実行の方法は、ショートカットを設定するというのが、一般的です。それ以上の、通常のメニューに組み込んだりするのは、難しいです。 また、実行は、「Alt」 キーを押しながら、「F8」を押すと、マクロの一覧が出てきますから、それで、マウスで選んでクリックして実行するという方法があります。

hide_m
質問者

補足

具体的な数式はIF (ISNA(・・・・),"","○”)というような、条件にあっていたら丸を入れると言うような物です。

noname#80653
noname#80653
回答No.1

マクロにも色んな種類があるよ? なんてマクロかい。。

hide_m
質問者

補足

エクセル VBAです。

関連するQ&A