エクセルのシートからシートへ行単位で自動転記する方法

このQ&Aのポイント
  • エクセルのシートから別のシートへ行単位で自動転記する方法を教えてください。収支表を作成しており、区分ごとに行を別のシートへ転記したいです。
  • 収支表には日付、入金、code、社名、区分などのデータがあります。それぞれの区分(表、地、表)ごとに、該当する行を別のシートへ転記したいです。
  • 具体的にどのようにエクセルのセルを操作すればよいのか、初心者なので詳しい説明が欲しいです。
回答を見る
  • ベストアンサー

教えてください!エクセルのシートからシートへ行単位で自動転記したいのです。

エクセルで収支表を作成しています。 区分が入っているセルがあるのですが、その区分ごとに行単位で同ファイルの違うシートへ自動転記することは可能でしょうか? 日付 入金 code  社名  区分  ~  資料計  ~  立替計  ~  前払計  合計  残金 2/3   500   1056   ××  ●表  ~   3000   ~      0   ~     500   500    11100 2/6        1057   ××  △地  ~   500   ~     300    ~       0   800    10300 2/3  800   1056   ××  ★表  ~    1000   ~   200   ~       0   1200    9900 と、いうような収支表があります。 これを「●表」、「△地」、「★表」のそれぞれのシートに、行ごと、できれば合計の前までを、自動転記することができるでしょうか? ☆出来上がりイメージ シート名(●表) 日付 入金 code 社名 区分 ~ 資料計 ~ 立替計 ~ 前払計  2/3   500  1056  ××  ●表   3000      0       500 シート名(△地) 日付 入金 code 社名 区分 ~ 資料計 ~ 立替計 ~ 前払計  2/3   0    1057  ××  △地     500      0       300 シート名(★表) 2/3   500  1058  ××  ★表   1000       0       200 収支表に入力すれば、各シートに自動的に転記され、ぞれぞれの表が作成できるようにしたいのです。 まったくの初心者です。 いままでの質問結果を見ても自分の質問がどれに当たるのかもわかりませんので質問させていただきました。 具体的にどこのセルにどのようにすればいいのか、かみくだいてご説明いただけると大変助かります。 ここに書いた表もぐちゃぐちゃで、分かりずらいとは思いますが、どうぞよろしくお願いいたします。

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

  • ベストアンサー
  • higekuman
  • ベストアンサー率19% (195/979)
回答No.2

このマクロで実現できます。 条件としては、 ・転記元のシートを表示した状態でマクロを実行すること ・1行目が項目名で、区分がE列であること ・区分の名前がついたシートが存在すること Sub AutoCopy() Dim RowX As Long Dim ColX As Long Dim Category As String ColX = 5 RowX = 2 Do Until IsEmpty(Cells(RowX, ColX).Value) Category = Cells(RowX, ColX).Value Rows(RowX).Copy Destination:=Sheets(Category).Cells(Rows.Count, ColX).End(xlUp).Offset(1).EntireRow RowX = RowX + 1 Loop End Sub あとで修正を加えようとしても、理解していないと無理な場合もあります。 これがきれいなマクロとは言いがたいですが、これを入り口として、マクロの勉強をしてみてください。

kuskus_2
質問者

お礼

higekumanさん、ありがとうございます。 この通りにやってみたら、できました! すごく感激です。。 が、しかし20行目までしか転記されません。 場合によっては、100行くらいいくかも知れないのです。 どこを修正すればいいのでしょうか? 実際には区分はF列にあるので ColX = 5 を ColX = 6 にすればいいのですね。 件名が入っているのが、5行目からなので RowX = 2 を RowX = 5 にしました。 また、毎回マクロを実行すると初めからのものも再度転記されてしまうのですが、その日だけを転記するということもできるのでしょうか? たくさん質問攻めで申し訳ないのですが、お答えいただけるとうれしいです。よろしくお願いいたします。

その他の回答 (2)

  • higekuman
  • ベストアンサー率19% (195/979)
回答No.3

#2です。 > が、しかし20行目までしか転記されません。 このマクロは、区分が空セルのところで止まるようになっています。 21行目が空行になっていませんか? > 実際には区分はF列にあるので > ColX = 5 を ColX = 6 にすればいいのですね。 そうです。 > 件名が入っているのが、5行目からなので > RowX = 2 を RowX = 5 にしました。 違います。 > また、毎回マクロを実行すると初めからのものも再度転記されてしまうのですが、 そのように作りました。 > その日だけを転記するということもできるのでしょうか? 当然出来ます。 > たくさん質問攻めで申し訳ないのですが、お答えいただけるとうれしいです。よろしくお願いいたします。 このまま答えていくと、すべて私が作ることになり、あなたの勉強にならないので、これで終わりにさせていただきます。 勉強頑張ってください。

kuskus_2
質問者

お礼

higekumanさん 暖かいご忠告ありがとうございます。 たくさんのヒントをいただき、嬉しく思います。 私なりに調べて勉強して、必ず作成します。 本当にありがとうございました。

回答No.1

VBAなどを使うと出来るのですが、初心者の方とのことで かなり難しいと思います。 自動転記ではないですが、 オートフィルタを使うのはダメですか? [データ]-[フィルタ]-[オートフィルタ]で、 区分を「●」を選択すると、 区分が「●」の行だけ表示されますので、 コピー&ペーストで、 「●」シートへ貼り付け。 「△」「★」も同様に。

kuskus_2
質問者

お礼

早々に、ご回答いただきありがとうございます。 bluepenguinさんのおっしゃるとおり、現在はオートフィルタを使ってコピー&ペーストで貼り付けています。 春以降、区分も件数も増えるとのことなので、それに備えて今から考えていきたいと思っています。 VBAは難しいとは聞いておりますが、ぜひ試してみたいと思います。 私なりに一生懸命勉強いたしますので、ご教授お願いできないでしょうか?

関連するQ&A

  • エクセルの自動転記について

    エクセル2003です。 行動予定一覧表を作成中です。 シート1に一覧表 シート2には日付別になっており、 その日付別のを一覧表に自動転記させたいと思っています。 画像をご覧になっていただくのが解りやすいと思うのですが、 項目は、一覧表も日付別も同じものです。 ただ、一覧表にはシート2では欄がなかった日付を加えたいのですが、 これも計算式にて表示出来たらと思っています。 一覧表には、日付別シートの表の中で空欄の場合は、転記されないようにしたいのですが、 可能でしょうか? VBAは苦手なので、出来れば計算式で乗り切りたいと思っています。 何かいい案等があれば教えていただきたいです。 よろしくお願いします。

  • エクセル2007:シート内のデータの自動転記

    Excle2007を使用しています。 シート1のデータをシート2に自動で転記したいと思っています。 シート1 作業件名ごとにその内容、作業者名が書いてある表。 1行ににつき作業1件 A列:日付 B列:作業件名 C列:内容 D列:作業者名 シート2 作業者ごとに従事した作業をまとめた一覧表で、ひとりにつき1ページ。 表の形式(見た目)はシート1とはまったく別のもの。 作業者ごとに空欄の表が既に作られており、 1ページ目:Aさん 2ページ目:Bさん という風に、1シートに改ページしながら全ての作業者について1ページずつ一覧表になっている。 1ページは25行を使用しており、 Aさん(1ページ目)は1~25行(Bさん(2ページ目)は26~50行)となる。 1ページ目の表のうち、シート1のデータを入れられる行は11~21行。 3件あれば3行使って残り8行は空欄ということになります 日付欄はシート2のA11~A21 件名欄はシート2のB11~B21 内容欄はシート2のD11~D21 シート2には、作業者の住所や生年月日など、シート1にない項目があらかじめ入力されている。 いつもはシート1を入力後に作業者基準で並べ替えをして印刷し、 シート2の該当する作業者のページに手打ちでデータ入力しています。 シート1のデータをシート2の該当箇所に転記するだけなので、シート1が完成した段階で シート2を自動で作れたら作業時間の短縮になると思い、考え始めました。 が、VBAに詳しくないため、どこからどう手をつけたらいいものかわかりません。 お詳しい方、お知恵をいただけましたらと思います。 不足情報等ございましたらご指摘いただけましたら補足をさせていただきますので どうぞよろしくお願いいたします。

  • エクセル マクロ 別シートへ自動転記

    お世話になります。 エクセルで元データシート(一覧表シート)からアルファベット毎に自動で別シートに転記したいのでですがマクロをどうやって作ればいいでしょうか?(出来ればファイルを開けた時に自動更新してほしいのですが。。) 基準になるのはローマ字でかかれている部品名で、それをアルファベットごとのシートに自動に転記されるようにしたいです。データはどんどん追加されていきます。 元データは以下のとおりです。 *データはB5セルから始まっています。  部品名  詳細  金額  ・・・  A56785 ねじ  ¥30   高田(株)  B13575 棒   \500 安田 C59975 柵 \200 鈴木(株)   以上よろしくお願いします。

  • エクセルの自動転記について

    エクセルの自動転記について シート1にデータを入力します。 A欄に会社名、B欄にデータ1、C欄にデータ2とします。 A欄と同じ会社名のシートのA欄にデータ1、B欄にデータ2が上から順に自動転記されるようにしたいのですが 教えていただきたいです。 よろしくお願いします。

  • エクセルで複数シートをまとめる

    エクセル初心者です。店舗ごとにシートを分けて現金出納を入力しています。 日付  科目   入金   出金   残高 2/1 普通預金      1    1 2/1 売上    1         2 2/2 売上    1         3 上記のように店舗が16あるので16シートづつ入力してしています。これを一つのシートにそのまま自動転記させ1枚で印刷したいと思っています。できれば、自動転記させたものを日付ごとに印刷したいと思いますがエクセルで可能でしょうか。初心者の私にはできませんでした。どうか詳しい方教えてくださいお願いします。

  • 複数のSheetのデーターを一枚のシートへ転記させる。

     エクセル初心者です。よろしくお願いします。 例えば      A     B      C    D     E      F 1 2  タイトル  タイトル              タイトル 3    a     b                    f 4 5 6 という全く同じSheetを毎日一枚ずつ作成していくとして、ここで”集計”Sheetに        A        B         C      D      E 1                      タイトル   タイトル  タイトル 2 追加した日付 追加Sheet名     a       b       f 3 追加2枚目  4 追加3枚目 5    " 6    " と言うように、行ごとに追加されていくSheetのデーターを”集計”一枚に自動で転記していきたいと思います。当方全くの初心者ですので、できましたら関数で教えて頂きたいと思います。 追加した日付や追加したSheet名を自動での転記させる方法は関数では無理かもしれませんが、タイトル集計だけでもかまいませんので、わかる範囲でよろしくお願いします。

  • Excel 条件一致の別シートの行にデータを転記

    Excel初心者です。教えてください。 アンケートの集計をしているのですが、 単票形式の入力用シートに入っているデータを、隣のシートに転記していきたいと思っています。 入力シートには会社名と担当者、多数の設問があり、その回答は全てチェックボックス形式です。(非表示のセルにチェックボックスのチェック有り無しをリンクさせています) 隣のシートには既に会社名などの一覧があり、そこの社名が一致する行にそのチェックの有り無しの値を転記用ボタンで転記したいと思っています。 ●入力シート A株式会社 担当:佐藤 設問1・・・ チェックあり 設問2・・・ チェックなし 設問3・・・ チェックあり ・ ・ ・ ●転記先シート 社名 設問1 設問2 設問3 A株式会社 TRUE FALSE TRUE B株式会社 C株式会社 マクロでどのようにしたらよいでしょうか。 すみませんが教えてください<(_ _)> よろしくお願いいたします。

  • EXCELの表からの「抽出」、「転記」

    1.元帳(Sheet8)から転記した「金融機関向け提出資料」(Sheet10)があったので、こ れからまた転記して組単位で「No.」と「氏名」の表(Sheet5)を作りたいので  す。 2. 添付画像「金融機関向け提出資料」(Sheet10)において、9組を例にとると、No.7、No.16、No.17、No.23の、以下続  く。これ等をSheet5の表に抽出していきたいのです。Sheet5の構想は、1行目:組 番号、2行目は項目名:No.(A2)と氏名(B2)、3行目~27行目(25名分)に各  データを 抽出、転記する。一組分の範囲はA1:B27です。 3.組の数は9組ありますが、一組だけその方法を教えて頂ければ結構です。 4.尚、Sheet10のNo.は1~188です。Sheet10のG列に、組番号を転記しています。こ の組番号はSheet10では印刷領域外です。 5. Sheet10からSheet 5に抽出し、転記した最初の人の(1)No.と(2)氏名をオートフィ ルで下にコピーすると、同じ組のNo.と氏名が表示されたら良いのですが・・・。 6.私はマクロが使えません。INDEX関数やMATCH関数は使ったことがあります。 元帳(Sheet8)からINDEX関数で「金融機関向け提出資料」(Sheet10)に転記して います。 7.最初から9組分の表を作成しておいて、そこにデータを順次転記していく方法もあ るのかも知れません。 8.Sheet10の一部を「画像添付」します。 以上ですが、よろしくご指導ください。

  • エクセルVBA シートにある日付1週間分転記

    お世話になります、Sheet1,Range(”A3")からFirstRow、Range(”A")にナンバーSheet1Range(”B")に日付Range(”C")に曜日Range(”D3")に会社名Range(”E")に行先名があります。 Sheet1Range(”B")にある日付1週間分をsheet2~sheet8に転記。sheet2には今日の日付をsheet3には翌日の日付を~sheet8までそれぞれ1週間分転記し、これを1日ごとクリアーかデリートしてから更新する構文をどなたかご教示お願いします。

  • 特定列の転記とシート作成とシート名変更。

    A1からBU160までの表があります(1行目はタイトル行 表は可変です) この表の特定列(例えばBU列)の文字が入っているところまで選択し(タイトル行を除き)コピーするにはどうすればよいですか? また、貼付け先の転記用ブックにおいて、もともとあるシートをコピーし、新たにシートを作りたいのですが、できたシート名に日付をいれるには、どのようなマクロを組めばよいですか?