• 締切済み

エクセルのマクロを知りたい

ham_kamoの回答

  • ham_kamo
  • ベストアンサー率55% (659/1197)
回答No.4

No.3です。お礼欄を拝見しました。 oonots様がお書きになったような動作をするようにマクロは作ったつもりなのですが、うまく動いていないのでしょうか。 具体的にマクロで何をやっているかというと、 (1)ワーク用のシートを一時的に追加(作業中は見えなくしています) (2)シートaのA列で値が1の行を抽出し、ワーク用のシートにコピー (3)ワーク用のシートをB列をキーに並び替え (4)ワーク用シートの1行目から100行目をシートbにコピー (5)ワーク用シートを削除 の流れて、(2)の「1の行をコピー」から(4)までのところをループで1から10までまわしています。そして(4)のシートbにコピーのところは、 1のとき、シートbの1~100行目にコピー 2のとき、シートbの101~200行目にコピー 3のとき、シートbの201~300行目にコピー   :   : というように、シートbは100行ごとの10個の表になるようにしています。ワーク用シートは都度クリアしていますので、シートaのA列で1の値が30個あるときはワーク用シートは30行までの表になり、それ1行目から100行目までコピーするので、シートbは31行目から100行目までは空になります。その次のシートaのA列が2の場合は、シートbの101行目にコピーされるので、お書きになったような動作になるはずなのですが、もし意図した通りにマクロが動作してないのであれば、具体的にどういう不具合があるか、補足していただけますか?

oonots
質問者

お礼

すみません;;;;; 急に 仕上げなければならない仕事が入ったために PCをさわる時間が なかったために お礼がすっかり遅くなってしまいましたね。 なんとか できました。 ありがとうございました。

関連するQ&A

  • EXCELのマクロについて

    EXCELのマクロについて質問させてください。 一覧シートから、職種別の各シートへ集計(貼り付け)が出来るような プログラムを作成したいのでやってみたところ、私の知識では上手く出来ませんでした。 お力をお借り出来ると幸いです。 具体的には、一覧シートへ入力後(毎月入力) 『A』 『B』 『E』と分かれた職種別の各シートへ職種別かつ氏名の昇順でソートが掛かった状態で 貼り付け?集計?が出来るようにしたいです。 一覧シートのB列には「A・B・E」のどれかの職種が入力されており 氏名はD列E列へ記載しています。(漢字、カナ表示) A~AD列までデータを記入していますので、全て各シートへ集計出来ると嬉しいのですが・・・ 行は8行目から記載してます。 上記のようにプログラムを組む事は可能でしょうか。 具体的なプログラムも載せて頂けると嬉しいです。 宜しくお願い致します。

  • エクセルで、データのある行だけを抽出したい。

    エクセルのSheet1にデータが入っており、セルが空白でない行のデータのみを、Sheet2に抽出したいと思っています。 Sheet2にあらかじめ関数を入れておく方法にしたいため、関数について教えてください。 タイムテーブルで予定を管理するような表で、A~Hまでにデータが入っています。 予定を入れる際にはE列には必ず入力をするため、E列が空白でない行のみを抽出したいです。 A|B|C|D|E|F|G|H 月|日|時間|… 11|22|10:00|… 11|22|10:30|… 時間枠は10:00~17:00の30分刻みで、1日15行使用するので、1年で5475行まで使用します。 1行目はタイトル行なので、データは2行目から入力しています。 フィルタオプションで抽出する方法や、それをマクロで登録しておく方法は分かったのですが、あとから予定を追加することがあるため、マクロを実行する度にデータが置き換わると困ってしまいます。 また、抽出したSheet2のI列以降には備考などを入力したいため、やはり後から列がずれると困るため、A~H列に関数を入れておく方法で実行したいと思います。 よろしくお願いいたします。

  • エクセル2000(マクロ)を使っていくつかの処理を一度にしたい・・・

    A列に下記の例のようなデータがあり、件数は毎日変わります。 マクロに登録したいのは (1)B列にはA列の最終行まで、(例えば)1、2と繰り返し入力させたい (2)B列に2のデータが入っているものだけを抽出し、抽出したA列のデータだけをコピーし、別のシートに貼り付けたい というところまでを一つのマクロで処理させたいのですが、うまくいきません。 A列のデータ数は必ず偶数で、数字のみで出てきています。貼付け先は日々のデータを月ごとに表にしていくため、毎日変わります。 ※土日祝日分はデータがでてきませんが、項目には記載がありますので、土日祝日は飛ばさなければいけないようになっています。 別シートは行の項目が日付で、列に抽出したデータを入れるようなレイアウトになっています。 A列   B列 1    1 1    2 2    1 0    2 10    1 2    2 13    1 2    2 ちなみに私が取得するデータはA列のデータだけなので、B列に入れるデータは1、2でなくてもなんでも大丈夫です。また処理や他にいい考え方等があれば教えてください。 宜しくお願いします。

  • マクロを使用し、EXCELのデータから必要な部分を取り出し2つのsheetに貼り付けたい

    条件 EXCELのデータ A列からL列まで 複数行(行数は、決まっていない) (例) 40行ほどあるデータを見て 1行目から10行目までをsheet1に 12行目から20行目までをsheet2に貼り付けたい場合。 11行目のA列(空白になっている)に手入力で「a」と入力 21行目のA列(空白になっている)に手入力で「b」と入力し、 1行目から「a」のある行までをコピーし、sheet1に貼り付ける 「a」のある行より1行下から「b」のある行までをコピーし、sheet1に貼り付ける 以上のことをマクロで実行する方法を教えて下さい。

  • マクロでエクセルの空白行をアクティブにしたい

    データーを入力しているシートがあり、マクロのボタンをクリックする データの空白行をアクティブになるようにしたいのです。 具体的に B列のデーターが入力されていない行をアクティブにして他のシートのデーターを張り付ける作業をしたいのですが・・よろしくお願いします。

  • エクセルのオートフィルタについて マクロ

    宜しくお願いします。 シート「B5」から「AV504」にデータが入っています。(A列にはA5からNo.を入力しています) マクロで「I」列の条件が「成約済」または「ボツ」であれば、B5からAV504の該当行データを クリアし、(すべての行ではなく、B~AV列までクリア(×削除))さらに、クリア後のB列から AV列の空白行を上に詰めてなくしたい(最下行までの空白をなくしたい)のですが、可能で しょうか。 宜しくお願いいたします。

  • Excel 空白行を上に詰めるマクロ

    関数を使用して、sheet1からsheet2に必要なデータを抜き取りました。 sheet2のセルには関数が入っています。 sheet2の抽出データには1行単位(まれに2~3行続けて)空白が発生します。 この行を削除し、かつ上に詰めて表示をしたいのですが、下記の条件で実行可能でしょうか? (例) sheet1 ⇒ sheet2   A   B   C     A  B  C 1 あ  い  う   1 あ  い  か 2        か   2 (空白行) 3 き  く   け    3 き  く  し   4 こ  さ   し   4 (空白行) ●2行目、4行目を削除し、且つ5行目以降に入力されている関数は削除したくない ●空白行削除のマクロは自動?(sheet1のデータを変更したら)で実行できるようにしたい よろしくお願いします。

  • エクセルで表のある列を最初から最後まで選択するマクロ

    今現在、シートにA3:E700までの大きな表があります。 中のデータは文字列や数値です。 A列B列には途中に空白はありません。C~E列には空白もあります。 この表のB列だけを選択するマクロを書きたいのですが、データは日々増減するため最終行が特定できません。 どのように書けばいいのでしょうか?

  • エクセルのマクロでこういう場合は?

    エクセル97です。 Sheet1の E3:J29 に表があります。 E列、F列は文字列、G列は数値、H~J列には式が入っています。 この表の G列の値が空白や0でない行だけをコピーして、Sheet2 のB2 以下に切れ目なく表の「値」を貼り付けるにはどうのようなマクロを書けばいいのでしょうか?(G列が空白や0の行はSheet2の表では一切無視され、空白行ができないようにしたいのです。) よろしくお願いします。

  • Excel 2007 マクロ AdvancedFilterについて(再

    Excel 2007 マクロ AdvancedFilterについて(再投稿) 先ほど同じ質問を投稿したのですが、画像を添付していませんでした。削除できないため再度投稿しました。 元データ(Sheet1)の表が4つあります。元データは画像に添付しました。 この表で製品名かぼちゃで「空白」と「-」以外の数値が入っている行をSheet3にコピーして貼り付けるマクロを作成しています。 <Sheet2> 製品名その他 かぼちゃ<> かぼちゃ- 下記マクロを実行したところ、Sheet3にはA列の番号のみ表示されます。 Sub Test1() Sheets("Sheet1").Range("A1:E34").AdvancedFilter xlFilterCopy, _ Sheets("Sheet2").Range("A1", Sheets("Sheet2").Cells.SpecialCells(xlCellTypeLastCell).Address), _ Sheets("Sheet3").Range("A1") End Sub <Sheet3> A列は空白です。 B列からE列は表示されていません。 どのように修正すればよろしいでしょうか。