[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『同一シート内のデータを行毎に分割して保存』(てよん)
質問させて下さい。1つのシートにバイトさん数名(1名2行)の勤務表があり一人当たり勤務時間1行(A2と4)と残業時間1行(A3と5)の計2行にて管理しています。これをVBAにて人毎にエクセル形式で保存したいと考えています(全ファイルにA1のタイトルとA2の日付等は必ず入れたい)。例としては下記となります。
A1タイトル(2月勤務表)
A2:氏名 B1:2/1 C1:2/2 D12/3……AK1:合計
A3:●川 300 400 200
A4:残業 0 10 60
A5:■田 200 600 250
A6: 残業 10 30 0
・
・
・
これをファイル毎に下記の様に保存したいです。
2月勤務表●川.xlsm
A1タイトル(2月勤務表)
A2:氏名 B1:2/1 C1:2/2 D12/3……AK1:合計
A3:●川 300 400 200
A4:残業 0 10 60
2月勤務表■田.xlsm
A1タイトル(2月勤務表)
A2:氏名 B1:2/1 C1:2/2 D12/3……AK1:合計
A3:■田 200 600 250
A4: 残業 10 30 0
人は月によって変動するのと日によってエクセルの終わりのセルは変動します。
すみませんがご教授宜しくお願い致します。
< 使用 Excel:Excel2016、使用 OS:Windows10 >
上記分割する前の段階で分割した後の状態に印刷もしたいと考えています。お手数ですがご検討宜しくお願い致します。
(てよん) 2019/03/05(火) 14:42
Dim i As Long, m As String, r As Range, c As Range, wb As Workbook i = 3 Set r = Rows("1:2") Do While Cells(i, 1).Value <> "" Set c = Union(r, Rows(i & ":" & i + 1)) m = Cells(i, 1).Value Set wb = Workbooks.Add c.Copy wb.Sheets(1).Range("A1") wb.Sheets(1).PrintOut wb.SaveAs Filename:=ThisWorkbook.Path & "\" & m & ".xlsx" wb.Close False i = i + 2 Loop End Sub
(mm) 2019/03/05(火) 17:11
しかし実行時エラー1004オブジェクト定義のエラーとなってしまいます。
私なりに考えているのですが2は「:」は実際に入れてなく
A2セルに氏名 B2セルに日付の2/1、C2セルに日付の2/2、D2セルに2/3、以下月末まで続き
最後にAK2に合計と項目を載せ書く保存先の人毎のデータの上に項目を残したいと言ったイメージとなります。すみませんがご確認宜しくお願いします。
(てよん) 2019/03/05(火) 18:22
A列 B列 C列 D列 AK列
(てよん) 2019/03/05(火) 20:55
A列 B列 C列 D列 AK列
(てよん) 2019/03/05(火) 20:58
>しかし実行時エラー1004オブジェクト定義のエラーとなってしまいます。
どの行で、エラーなのでしょうか?
>日付と人数は月によって変動するので空白セルは対象外となります。
空白セルの例も提示するとよいかと思います。
(マナ) 2019/03/05(火) 22:46
通常エラーの個所が黄色く表示されると思うのですが
今回のエラーは個所が指定されず1004エラーだけ出てしまっています。
どうぞ宜しくお願いします。
(てよん) 2019/03/06(水) 09:39
VBEのツール-オプション-全般でエラートラップをエラー発生時に中断としてから実行するとどうなるだろうか? 確認が終われば上記オプションは元に戻しておいてくれ。 (ねむねむ) 2019/03/06(水) 09:51
(mm) 2019/03/06(水) 10:51
出来ました!本当にありがとうございます!
私の方でAセルにタイトルを入れてしまっていた為、保存ファイル名が同一となり
エラーを吐いてしまっていた様です。
この度は本当にありがとうございます!感謝しております。
印刷がA4にて分割されてしまうので自分で検討してみます。
本当にありがとうございました!
(てよん) 2019/03/06(水) 12:50
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.