エクセルで収支表を作成しています。
区分が入っているセルがあるのですが、その区分ごとに行単位で同ファイルの違うシートへ自動転記することは可能でしょうか?
日付 入金 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
収支表に入力すれば、各シートに自動的に転記され、ぞれぞれの表が作成できるようにしたいのです。
まったくの初心者です。
いままでの質問結果を見ても自分の質問がどれに当たるのかもわかりませんので質問させていただきました。
具体的にどこのセルにどのようにすればいいのか、かみくだいてご説明いただけると大変助かります。
ここに書いた表もぐちゃぐちゃで、分かりずらいとは思いますが、どうぞよろしくお願いいたします。
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
あとで修正を加えようとしても、理解していないと無理な場合もあります。
これがきれいなマクロとは言いがたいですが、これを入り口として、マクロの勉強をしてみてください。
higekumanさん、ありがとうございます。
この通りにやってみたら、できました!
すごく感激です。。
が、しかし20行目までしか転記されません。
場合によっては、100行くらいいくかも知れないのです。
どこを修正すればいいのでしょうか?
実際には区分はF列にあるので
ColX = 5 を ColX = 6 にすればいいのですね。
件名が入っているのが、5行目からなので
RowX = 2 を RowX = 5 にしました。
また、毎回マクロを実行すると初めからのものも再度転記されてしまうのですが、その日だけを転記するということもできるのでしょうか?
たくさん質問攻めで申し訳ないのですが、お答えいただけるとうれしいです。よろしくお願いいたします。
No.3
- 回答日時:
#2です。
> が、しかし20行目までしか転記されません。
このマクロは、区分が空セルのところで止まるようになっています。
21行目が空行になっていませんか?
> 実際には区分はF列にあるので
> ColX = 5 を ColX = 6 にすればいいのですね。
そうです。
> 件名が入っているのが、5行目からなので
> RowX = 2 を RowX = 5 にしました。
違います。
> また、毎回マクロを実行すると初めからのものも再度転記されてしまうのですが、
そのように作りました。
> その日だけを転記するということもできるのでしょうか?
当然出来ます。
> たくさん質問攻めで申し訳ないのですが、お答えいただけるとうれしいです。よろしくお願いいたします。
このまま答えていくと、すべて私が作ることになり、あなたの勉強にならないので、これで終わりにさせていただきます。
勉強頑張ってください。
higekumanさん
暖かいご忠告ありがとうございます。
たくさんのヒントをいただき、嬉しく思います。
私なりに調べて勉強して、必ず作成します。
本当にありがとうございました。
No.1
- 回答日時:
VBAなどを使うと出来るのですが、初心者の方とのことで
かなり難しいと思います。
自動転記ではないですが、
オートフィルタを使うのはダメですか?
[データ]-[フィルタ]-[オートフィルタ]で、
区分を「●」を選択すると、
区分が「●」の行だけ表示されますので、
コピー&ペーストで、
「●」シートへ貼り付け。
「△」「★」も同様に。
早々に、ご回答いただきありがとうございます。
bluepenguinさんのおっしゃるとおり、現在はオートフィルタを使ってコピー&ペーストで貼り付けています。
春以降、区分も件数も増えるとのことなので、それに備えて今から考えていきたいと思っています。
VBAは難しいとは聞いておりますが、ぜひ試してみたいと思います。
私なりに一生懸命勉強いたしますので、ご教授お願いできないでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【エクセル」 特定のセルで条件抽出した列を、別シートに上から詰めて表示したい。 8 2022/04/08 16:00
- Excel(エクセル) エクセルで”入力シート”の文字書式の変更を”出力シート”で同じ文字書式で印刷したいです。VBA希望 4 2023/04/24 11:07
- Visual Basic(VBA) エクセルのマクロで対象ごとにシート分けしてその内容をセルに書き込みたい 9 2022/08/24 13:23
- Visual Basic(VBA) vbaについて 主に以下のような設定をしたいです。 Aブックの表の行数が20未満だったら Bブックの 1 2023/06/08 23:40
- Excel(エクセル) エクセルで割り振りをする方法 7 2022/08/02 14:02
- Excel(エクセル) ユーザー定義について質問です。 2 2023/06/28 13:21
- Excel(エクセル) EXCEL マクロで 同じフォルダ内の複数ファイルの複数行全体を選択して1つのファイルに集約 4 2022/09/27 18:41
- Excel(エクセル) vba 同じブック内での転記について 4 2023/01/15 14:42
- Excel(エクセル) 条件に合った数値の合計を表示させたい関数と条件指定の方法 3 2023/05/13 16:07
- Excel(エクセル) Excel、同じフォルダ内のExcelファイルの特定シートのみを1つのファイルに集約したい 8 2022/09/07 15:12
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAでエクセルシートを更新...
-
excelで、セル内に文字が入力さ...
-
エクセルのシートを同時に行削...
-
STAT VIEWが使えない!!!
-
教えてください!エクセルのシ...
-
表示倍率を変更させない方法
-
エクセルで、2つのシートにある...
-
エクセルシートの統合
-
EXCELの表の抽出方法
-
Excelのマクロで、開いた時に、...
-
「24日の0時」って・・・
-
エクセルで最高値、最低値の日...
-
エクセルのチェックボックスを...
-
エクセルの列が左右逆に・・・・
-
パソコンで購入したデーターが...
-
「時間」、「期日」、「日付」...
-
エクセルで縦書きルビの付け方
-
折れ線グラフ 横軸の日付 土...
-
エクセル マクロ 名前を付けて...
-
Excel関数 「日付を入力...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAでエクセルシートを更新...
-
excelで、セル内に文字が入力さ...
-
エクセルのシートを同時に行削...
-
【エクセル】シートのロックで...
-
表示倍率を変更させない方法
-
エクセルの担当者別にシートを...
-
エクセルで、2つのシートにある...
-
エクセルで別シート、または別...
-
エクセルVBAでデータ検索について
-
エクセルのマクロ。 お世話にな...
-
エクセルシートの統合
-
同一セルに入力規則のリストと...
-
STAT VIEWが使えない!!!
-
旬ごとの集計方法
-
教えてください!エクセルのシ...
-
ファイナンシャルプランナーの...
-
エクセル◎○の人は、一つ昇格し...
-
エクセルVBAで65536レコードを...
-
エクセルで、作った年間カレン...
-
シートを串刺しで抽出したいの...
おすすめ情報