- 締切済み
エクセルシートをひとつにまとめたい
エクセル2000を使っています。 いくつかのシートの内容をひとつのシートにまとめたいと思っているのですが、関数か、ソフトを使って、簡単に作業ができないものでしょうか? ファーマットは全てのシートで同じです。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- marbin
- ベストアンサー率27% (636/2290)
VBAの入門サイトをご紹介します。 Excel VBA 入門講座 http://excelvba.pc-users.net/
- marbin
- ベストアンサー率27% (636/2290)
関数では難しいと思います。 VBAで行うか、ネットで(あるかわからないですが)ツール を探すか、になるとおもいます。 確認し忘れたのですが、同じブックのシート、ということでしたら 割合簡単ですが、別々のブックのシートを統合、でしたらもう一手間 必要になります。 以下のコードは、ブックの全てのシートのデータを新規シートに転記 していきます。 タイトル行は1行目のみ、データセルは2行目のA列から入力してある、 との前提です。 Sub test() Dim ws As Worksheet Dim newws As Worksheet Dim wscnt As Integer Dim i As Integer Dim rng As Range Dim rw As Long Dim col As Integer wscnt = Worksheets.Count Worksheets.Add after:=Worksheets(wscnt) Set newws = ActiveSheet col = Worksheets(1).Cells(1, Cells.Columns.Count).End(xlToLeft).Column Worksheets(1).Cells(1, 1).Resize(, col).Copy newws.Range("A1") For i = 1 To wscnt Set ws = Worksheets(i) ws.Range(ws.Cells(2, 1), ws.Cells(Cells.Rows.Count, 1).End(xlUp)).Resize(, col).Copy _ newws.Cells(Cells.Rows.Count, 1).End(xlUp).Offset(1) Application.Goto ws.Cells(1, 1), True Next i Application.Goto newws.Cells(1, 1), True Set newws = Nothing End Sub
補足
ありがとうございます。PC初心者なので、何をどうすればいいのかもう少し詳しく教えていただけませんでしょうか
- hige_082
- ベストアンサー率50% (379/747)
こんな感じかな? Sub test() Dim i For i = 2 To Worksheets.Count With Worksheets(i) .Range("a2", .Cells(.Cells(Rows.Count, 1).End(xlUp).Row, .Cells(1, Columns.Count).End(xlToLeft).Column)).Copy Worksheets(1).Cells(Rows.Count, 1).End(xlUp).Offset(1) End With Next i End Sub 参考まで
- marbin
- ベストアンサー率27% (636/2290)
どういう風にまとめたいのでしょう? 単に最終行に追記していくだけなのか、タイトル行 は追記しないでデータ行のみ追記していく、など。 どういうデータがあってどのようにまとめたいのか をご説明願います。
補足
早速の回答有難うございます。補足説明させていただきます。 シート1の最終行に後のシートのデーターを追記して繋げて行きたいのです。データーは文字で全てのシートは同じフォーマットになってはいます
お礼
ありがとうございます