![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
エクセル VBA 各シートへの振分け(転記)についてご教授願います。
■集計シートB列からJ列に集計テーブルがあります
■3行目が項目行で最終行は増減します
■D列に曜日/H列に確認欄があります
■集計シートの右横から月曜日~日曜日までの曜日シートがあります
■各曜日シートは1行目が項目行で、集計シートと同じ項目がB列~H列まであります(I列J列は転記不要)
■各曜日シートの表はシート名同じテーブル名でテーブル化されています。
(例:月曜日sheet=月曜日テーブル)
■D列の曜日ごとで尚且つH列が空白の行を、各曜日シートへ振分け(転記)をしたいと思います
このプログラム(コード)を教えて下さい。
どうぞ宜しくお願い致します。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
とりあえず、こんな感じではいかがでしょうか?
Sub Sample()
Dim シート As Worksheet
Dim 終 As Long
Dim 行 As Long
For Each シート In Worksheets
Select Case シート.Name
Case "日曜日", "月曜日", "火曜日", "水曜日", "木曜日", "金曜日", "土曜日"
Sheets("集計シート").Select
終 = Cells(Rows.Count, 4).End(xlUp).Row
Range(Cells(3, 2), Cells(Cells(Rows.Count, 4).End(xlUp).Row, 8)).Copy
シート.Select
Range("A1").Select
ActiveSheet.Paste
終 = 終 - 2
For 行 = 2 To 終
If Cells(行, 3).Value <> シート.Name Then Range(Cells(行, 1), Cells(行, 7)).ClearContents
If Cells(行, 7).Value <> "" Then Range(Cells(行, 1), Cells(行, 7)).ClearContents
Next
Cells.Sort Key1:=Range("C2"), Order1:=xlAscending, Header:=xlYes, Orientation:=xlTopToBottom
Rows(Cells(Rows.Count, 3).End(xlUp).Row + 1 & ":" & Rows.Count).Delete Shift:=xlUp
行 = ActiveSheet.UsedRange.Row
End Select
Next
End Sub
ありがとうございます。
先程帰宅した為に、お返事が遅くなってしまい大変申し訳ありません。
教えて下さったコードで理想通りの結果となりました。
本当に助かりました。
心より感謝申し上げます。
どうもありがとうございました。
No.1
- 回答日時:
転記の際、各曜日シートの元々あるデータの処理は次のどれですか?
① 全クリアしてから転記
② どこかの列をキーにしてデータを更新(集計シートのキーとなる列を提示して下さい)
③ 元データは残したまま、追記
④ その他(具体的に説明して下さい)
曜日(D)列のデータはどうなっていますか?
⑤「月曜日」~「日曜日」
⑥「月」~「日」
⑦ 日付のデータで書式設定を「aaa」や「aaaa」にして表示している
(数式バーには「yyyy/m/d」で表示される)
⑧ その他(具体的に説明して下さい)
「(I列J列は転記不要)」となってますが、H列も空欄なので不要なのでは?
⑨ 書式を含めて転記なので必要
⑩ 不要
⑪ その他(具体的に説明して下さい)
ありがとうございます。
ご指摘の通り下記の説明が抜けておりましたので、質問して下さって助かりました。
【回答】
転記の際、各曜日シートの元々あるデータの処理は次のどれですか?
① 全クリアしてから転記
(ここは重要でしたね)
曜日(D)列のデータはどうなっていますか?
⑤「月曜日」~「日曜日」
「(I列J列は転記不要)」となってますが、H列も空欄なので不要なのでは?
⑩ 不要
(ご指摘の通りH列は不要でした)
大変お手数お掛け致しました。
また何か不明な点がありましたらご指摘下さい。
ご回答を心よりお待ちしております。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルの条件付き書式 個人シートを参照して集計シートに色付けしたい 1 2023/06/22 00:39
- Visual Basic(VBA) コード名シートA列と集計シートA列のコードが一致したら、コード名シートA5からk12の範囲をコピーし 1 2022/08/29 23:46
- Visual Basic(VBA) 集計シートA列のコードと一致する右に並んだシート名(コード)の3行目から10行目をコピーして貼り付け 4 2022/08/18 15:24
- Visual Basic(VBA) VBAで、1つのエクセルで、2つのシートからもう1つのシートに条件のある転記コードを教えてください。 1 2023/03/16 18:07
- Excel(エクセル) 別シートに毎回異なるデータをコピーする 7 2022/06/24 09:02
- Visual Basic(VBA) VBAで、シート間の転記するコードをFOR~NEXTで教えてください。 9 2023/04/30 20:04
- Visual Basic(VBA) まとめシートから集計シートへA列のコードが一致したら1行コピーするマクロをネット上で見つけました。こ 1 2022/08/30 14:11
- Visual Basic(VBA) 【VBA】指定した検索条件に一致したら別シートに転記したい 2 2022/03/23 16:14
- Visual Basic(VBA) 祝日を除いた月曜から土曜までの1週間分の日付行を選択し、別シートへカットアンドペーストしたい 13 2023/07/13 22:46
- Excel(エクセル) 【VBA】元のシート内の文字列を別シートと比較し、一致したら元のシートの別のセルへ転記する方法。 3 2023/03/23 17:30
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルの保護で、列の表示や...
-
VBAで繰り返しコピーしながら下...
-
【条件付き書式】countifsで複...
-
文字の色も参照 VLOOKUP
-
ExcelのVlookup関数の制限について
-
Excel の複数シートの列幅を同...
-
エクセルのブック分割マクロを...
-
VLOOKアップ関数の結果の...
-
エクセル マクロ 標準モジュー...
-
【VBA】ピボットテーブルを既存...
-
Excel VBA ピボットテーブルに...
-
【エクセル】1列のデータを交...
-
エクセルで横並びの複数データ...
-
Excel 2段組み
-
Excelでの並べ替えを全シートま...
-
Excelで全てのシートに一気に列...
-
エクセルVBAで、ある文字を含ん...
-
【エクセルで特定の行だけ別シ...
-
スプレッドシートでindexとIMPO...
-
エクセルの列の限界は255列以上...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
文字の色も参照 VLOOKUP
-
ExcelのVlookup関数の制限について
-
エクセルの保護で、列の表示や...
-
VBAで繰り返しコピーしながら下...
-
Excel の複数シートの列幅を同...
-
エクセルで横並びの複数データ...
-
エクセルの列の限界は255列以上...
-
【条件付き書式】countifsで複...
-
Excelでの並べ替えを全シートま...
-
SUMPRODUCTにて別シートのデー...
-
エクセル マクロ 標準モジュー...
-
VLOOKアップ関数の結果の...
-
エクセルで、チェックボックス...
-
Excel VBA ピボットテーブルに...
-
オートフィルタ使用時にCOUNTIF...
-
スプレッドシートでindexとIMPO...
-
エクセルVBAで、ある文字を含ん...
-
エクセルのブック分割マクロを...
-
【VBA】複数のシートの指定した...
-
Excel複数シートにあるデータを...
おすすめ情報