• 締切済み

マクロ繰り返し

宜しくお願いします。 A1~A10に数値、B1~B10に乱数を発生させて(RAND関数)、C1~C10にその順位を出す、その順位をG1~G10にコピー、F列に1行挿入、  これを10回繰り返す。 マクロのボタンを1回押せば、これが実行される。これを5回したいときはボタンを5回押せばいい?これを実行できるコードがあるのでしょうか、わかりません。お教えください。

みんなの回答

  • kkkkkm
  • ベストアンサー率65% (1619/2458)
回答No.3

> F列選択、ここに1列入れると > 最終10列になりますが 何を言い出すのやら… 自分の質問をよく見たほうがいいですよ。 > F列に1行挿入、 ↑これが1列入れることだとは100%だれも思わない。 で、列挿入を繰り返したらG1~G10に10回入れても大丈夫とか考えたのかな? そんなことするくらいなら最初からG列から9列右の列にコピー、次は8列右の列にコピーとかしていくけど。 他の疑問にも答えないし(意味不明な人って、なぜ複数の疑問に対して全てを答えないのだろうか) 意味不明(自分だけわかっているつもり)な事ばかり言ってるようでは、マクロなんて誰も作れない。 2020/03/10 にも「マクロの繰り返しコード」で同じような意味不明な質問してたね。で、それらしい回答が付いているけど無視状態。完全丸投げのくせにたいしたもんだ。 相手にするだけ時間の無駄だった。

kimarimasita39
質問者

補足

すいませんでした1行と書いてましたね。 もうしわけありませんでした。 今日、他の方法で上手く処理できました。 有難うございました。

  • kkkkkm
  • ベストアンサー率65% (1619/2458)
回答No.2

あと > これを10回繰り返す。 G1~G10にコピーを10回繰り返しても最後の1回分しかG1~G10に残らないので10回繰り返す意味が無いと思いますが。

  • kkkkkm
  • ベストアンサー率65% (1619/2458)
回答No.1

> B1~B10に乱数を発生させて(RAND関数)、C1~C10にその順位を出す ここまで関数でできますから、そこから後をマクロでやるとして > その順位をG1~G10にコピー その順位とは?どこのセルをG1~G10にコピーするのか不明です。 A1~A10をG1~G10にコピー?降順?昇順? > F列に1行挿入 F列のどこに1行?(1セルの間違いですか)挿入するのか不明です。

kimarimasita39
質問者

補足

F列選択、ここに1列入れると 最終10列になりますが

関連するQ&A

  • RAND関数です

    お願いします。 A1~A20までに入力枠があります この数値は他の箇所より参照しています。 このA1~A20の数値に対してB1~B20に=RAND()で乱数を発生するようにしていますが、ただ、データー入りがA1~A20行が最大で、A1~A7までの時とか毎回変化します。当然、データーの入っていない行にも乱数が発生します。 =IF(ISERROR(RAND()))、” ”、((RAND())))) で表示させないようにとしましたが、できません。 関数の」組み合わせ?マクロのコード? いい方法がありませんでしょうか、宜しくお願いします。

  • エクセルのマクロの繰り返し

    よろしくお願いします。 「A1からA5までの数値を数字の大きい順に並び替えして、 そのA1からA5のデーターをC1からC5にコピーする。 次にB列に1列挿入する。」 ここまではエクセルのマクロ機能で出来ましたが それを100回くり返すコードというか、 コードの書き方、仕方がわかりません。 このばあいどのようなコードでしょうか

  • エクセル2010 繰り返しマクロ

    (1)g列の空白の最上行に =SUMPRODUCT(min((a:a>=f2)*(a:a<f2+730)*e:e)) と入力。 そのセルをコピーし、同じセルに値を上書き貼り付け ↓ (2)a列に(1)のセルの左隣のセル以下の数値がある行の、b列を削除 (画像の場合、(1)のセルがg1の場合、b2,b3を削除する) というのを、f列に数値がある行だけ繰り返すマクロの構文を教えてください。 大変お手数おかけいたしますが、どうぞよろしくお願いします。

  • エクセルのマクロ(行を挿入し連番を振る)

    ボタンを押すと以下のことを実行するマクロを作成することはできますか? A列2行目から 書類a 書類b 書類c 書類d 書類e C列2行目から 5 3 2 4 3 と入っています。C列は各書類の枚数です。 ボタンを押すと書類aと書類bの間に4行空白行が挿入され、A列とC列は増やした4行にそれぞれ書類a、5がコピーされ、B列には2列目から6列目まで1.2.3.4.5と連番が振られる。 というマクロです。 B列C列で1/5 2/5 3/5 4/5 5/5 であるという表現がしたいのです。(/は入りません) 書類が1枚の場合はB列C列共に空白で1/1とは入りません。 C列に入る書類の枚数により行が挿入されその書類の枚数分の連番が振られるようなマクロが作りたいです。 毎日何百行も手作業で挿入しコピーし連番を振る作業をしています。 決まった行数を増やすとか上の行をコピーするマクロならわかるのですが、C列の値を見て挿入する行数を判断するようなマクロができるのかわかりません。 どなたか教えて頂けないでしょうか。

  • 再度 マクロの「繰り返しコード」の質問です。

    宜しくお願いします。まったくの初心者です。 今、A1~A5には数値。 隣のB1~B5には=RUND()の関数。 ("A1:B5")をセレクトして並び替え、 (ソート最優先キーはB列、降順) この乱数を並び替えして、E1にコピー、そしてG列に1列挿入する。 これを10回繰り返したい。 というコードが、なかなか作れません。 何方か教えてください。

  • 値によって違うマクロの実行

    表題の質問をさせていただきます。よろしくお願いいたします。 A1セルには、別シートで計算された値が転記されるようになっており、1から45までのいずれかの数値が入っています。 その数値によって異なる動きをするマクロが3個あります。  1から15の時はマクロA  16から30の時はマクロB  31から45の時はマクロC おのおののマクロはフォームのボタンから実行できるように登録してあります。 現在はA1セルの数値を見て該当するボタンを押してマクロを実行しています。 たとえばA1の値が「25」の時はマクロCが登録してあるボタンCを押しています。 そこで質問させていただきたいのは 既存のボタンを撤廃し 新たに設置するひとつのボタンで3個のマクロを制御したいと思ったのです。 新たなマクロでA1の値を取得し、そのマクロ内で既存のマクロへ割り振るためには どのような記述をすればよいのでしょうか。 よろしくお願いいたします。

  • エクセル マクロを自動実行

    仕事で使っている書式で、A1に「あいうえお」と入力すると、A2「あ」、B2「い」、C2「う」、D2「え」、E2「お」とMID関数で振り分け、入力後、A行を「表示しない」と「再表示」するマクロをボタンで実行するようにしています。 そこで、 この書式には必ず入力しなければならない項目があるので(非表示しない行のセル)、この項目に入力したら行の非表示マクロを実行し、空白なら行の再表示マクロを実行出来るようにしたくて調べているのですが見つかりません。 1クリックの手間を省く方法をご存知の方ご教示ください。 宜しくお願いします。

  • EXCELの「行列を入れ替える」マクロについてどなたか教えていただけないでしょうか?

    EXCELの「行列を入れ替える」マクロについてどなたか教えていただけないでしょうか? 下記のようにならんだDATAがあります。   A列   B列  C列  D列  E列 (1行)2002/12/17 15240 15280 15220 15220 (2行) (3行) (4行) (5行)2002/12/18 15250 15250 15210 15210 (6行) (7行) (8行) (9行)2002/12/19 15220 15310 15220 15310 (10行) (11行) (12行) (13行)2002/12/20 15220 15260 15210 15230 (14行) (15行) (16行) (17行)2002/12/24 15300 15310 15270 15310 (18行) (19行) (20行) (21行)2002/12/25 15300 15340 15300 15600  . . . . . . . . . . . . . . . . . . . . . . . と,このようにDATAは日付の横に数値が4つずつ横に並んでおりますが、この4つの数値をその4つ目の数値の真横のF列から縦に4つ並べたいのですが、一気にできるマクロがないものでしょうか?下記のようにです。   A列   B列 C列 D列 E列  F列 2002/12/17            15240                  15280                  15220                  15220 2002/12/18            15250                  15250                  15210                  15210 2002/12/19            15220 15310 15220 15310                   . . .                    といった感じに一気にマクロで処理してしまいたいのです。DATAはかなりの行数あり、すべて3行の間隔があります。日付の横に4つの数値が規則的に並んでいるというものです。何回でもマクロボタン一発で4つの横に並んだ数値のみを縦に並べた4つの数値にしたいのです。つたない説明で大変申し訳ありませんが、どなたかわかる方お教えくださいませ。

  • 抽出の関数計算が成立せず、困ってます!

    EXCELの関数を使用して、140人の生徒を7グループに分けようとしています。 生徒一人一人には、元々Ai~Niまでの14グループが振られてます(i=1~10)。 振り分けたいグループは7グループなので、 第1グループをA+Bグループ 第2グループをC+Dグループ 第3グループをE+Fグループ としていき、 第7グループをM+Nグループ と振り分けたいと思ってます。 但し条件があり、「A+B」グループに入る生徒は、Ai,Biのが振られていない生徒がランダムに20人入るようにしたいと思っており、「C+D」やその他のグループも同様で、グループ名になるアルファベットが振られていない生徒の中から任意で20人を1グループにするというものです。 使用した関数はVLOOKUP関数とLARGE関数で、その方法は、 【データ基】         A列         B列        C列      D列 10行目  (便宜上の)順位  (生徒の)番号  氏  名     乱数 11行目     1        A1    ●●△△    =RAND() 12行目     2        A2    ■■○○    =RAND()           ・        ・        ・        ・           ・        ・        ・        ・           ・        ・        ・        ・ 21行目     11        B1    ▲▲□□    =RAND()           ・        ・        ・        ・           ・        ・        ・        ・           ・        ・        ・        ・ 31行目     21        C1    ★★▽▽    =RAND()           ・        ・        ・        ・           ・        ・        ・        ・           ・        ・        ・        ・ 150行目    140        N10    ※※◎◎    =RAND() としており、 計算式は次のようにしましたが、上手くいきませんでした。 【グループ分け】 ★A+Bグループ   1人目抽出“=VLOOKUP(LARGE(D31:D150,A11),B31:D150,2,0)”   2人目抽出“=VLOOKUP(LARGE(D31:D150,A12),B31:D150,2,0)” としましたが、結果は、“#N/A”となってしまいます。 また、 ★C+Dグループ   1人目抽出“=VLOOKUP(AND(LARGE(D11:D30),LARGE(D61:D150)),A11,AND(B11:D30,B61:D150),2,0)” としましたが、これについては計算そのものの処理ができませんでした。 どのように計算すれば上手く振り分けられるのでしょうか。 「データ基」ではランダムにしたいとの思いから乱数を使用していますが、無作為に選ぶことができるのであれば、乱数でなくても構いませんし、また、最初に記した条件さえ満たせば、計算ごとに結果が変わっても差し支えありませんし、どのような関数を用いても差し支えありませんが、プログラミングはできないので、関数のみで処理したいと考えてます。 どうかお知恵を貸してください。 よろしくお願いいたします。

  • エクセルのマクロで

    エクセルのマクロでこんな処理はできるでしょうか? 元データ表に A列からC列まである数値が5000行にわたって入っています。 例     A B C 1行目 1 4 6 2行目 4 7 8 3行目 5 6 4 4行目 7 8 2 ・ ・ 今、1行目と2行目の間に新たな行を挿入し、 C1セルの値を新たに挿入した行のA列からC列に貼り付けたい。 同様に現時点での2行目と3行目の間に新たな行を挿入し 今度はC2セルの値をその行に貼り付けます。 上の例で言うとこうなります。これを最後の行まで繰り返します。     A B C 1行目 1 4 6 2行目 6 6 6 3行目 4 7 8 4行目 8 8 8 5行目 5 6 4 6行目 4 4 4 7行目 7 8 2 8行目 2 2 2 ・ ・ 元データは5000行あるので、都合1万行になるということです。 このような処理はできるでしょうか? お教えいただけたら幸いです。よろしくお願いします。

専門家に質問してみよう