エクセルで10以上あるシートを一発でひとつにまとめる方法はあるでしょうか?

コピー&ペーストを繰り返すしかないのでしょうか…

仕事で明日やらなければならないので、
お分かりになる方、是非教えてください!

このQ&Aに関連する最新のQ&A

A 回答 (5件)

まぁ既出回答にもあるように,10数回程度コピー貼り付けすることで,どうという作業ではないとは思います。



さておき。
ご利用のエクセルのバージョンが不明ですが,ご利用のOfficeのバージョンによっては

1.ワードを起動する
2.挿入のファイルからエクセルブックを指定する
3.添付図のようなダイアログが表示されたらラッキー成功です,ブック全体を指定して挿入する
4.Ctrl+Aで全体を選び,コピーして,エクセルの新しいシートに貼り付ける

と一発でできます。
添付図のようにならなかったときは,出来ません。
「エクセルで多数のシートをまとめる方法」の回答画像4
    • good
    • 14
この回答へのお礼

ご回答ありがとうございます。

ワードでできる方法もあるんだ!と思い、
早速やってみましたが、職場のエクセルでは添付していただいた図のようなものはでできませんでした。。

今後の参考にさせていただきたいと思います。

ちなみによく確認をしたら、シートは19シートありました。
地道にコピペしてみたいと思います。

ありがとうございました。

お礼日時:2011/10/09 13:11

仮に各シートは同じ項目で同じ表になっているとします。


1行目は必ず項目名が入力されているとします。2行目から下方にデータが入力されているとします。
各シートの2行目から下方のデータをまとめのシートにコピーして表示させることを関数で行うとしたら次のようにすればよいでしょう
まとめのシートでの操作を次に示します。
B1セルから右横の各セルには10以上あるシート名(文字列)を例えばSheet1のように入力します。
A2セルには0を入力します。B2セルには次の式を入力して右横方向にオートフィルドラッグします。

=IF(B1="","",MAX($A2:A2)+COUNTIF(INDIRECT(B1&"!$A:$A"),"?*")-1)

A3セルから横方向には各シート上にある項目名をコピーして並べます。

A4セルには次の式を入力して横方向にオートフィルドラッグしたのちに下方にもオートフィルドラッグします。

=IF(OR(ROW(A1)>MAX($2:$2),A$3=""),"",IF(INDEX(INDIRECT(INDEX($1:$1,IF(COUNTIF($2:$2,ROW(A1)),MATCH(ROW(A1),$2:$2,0),MATCH(ROW(A1),$2:$2,1)+1))&"!A:J"),ROW(A1)+1-INDEX($2:$2,IF(COUNTIF($2:$2,ROW(A1)),MATCH(ROW(A1),$2:$2,0)-1,MATCH(ROW(A1),$2:$2,1))),COLUMN(A1))=0,"",INDEX(INDIRECT(INDEX($1:$1,IF(COUNTIF($2:$2,ROW(A1)),MATCH(ROW(A1),$2:$2,0),MATCH(ROW(A1),$2:$2,1)+1))&"!A:J"),ROW(A1)+1-INDEX($2:$2,IF(COUNTIF($2:$2,ROW(A1)),MATCH(ROW(A1),$2:$2,0)-1,MATCH(ROW(A1),$2:$2,1))),COLUMN(A1))))

これで各シートのデータがまとめのシートに表示されることになります。
    • good
    • 22
この回答へのお礼

ご回答ありがとうございます。

分かりやすいご説明、ありがとうございます!
早速次回試してみたいと思います!

お礼日時:2011/10/09 22:14

例えば、Sheet10とかで、



A列に、
A1:Sheet1
A2:Sheet2
A3:Sheet3
のシート名を入力しておき、

B1:=INDIRECT(A1&"!$A$1")
B2:=INDIRECT(A2&"!$A$1")
以下コピペ

とかってやると、列挙したシート名の$A$1セルの内容を抜き出せるとか。

--
10あるシートの内容が、1枚のシートに入る容量なら、単純にコピー&ペーストを繰り返しても10回かそこらの作業ですし。
有効なシートの範囲を選択する方法だと、シート選んで、[Ctrl]+[Home]、[Ctrl]+[Shift]+[End]だとか。
    • good
    • 9
この回答へのお礼

ご回答ありがとうございます。

[Ctrl]+[Home]、[Ctrl]+[Shift]+[End]で選択すると、
一気に範囲を指定できるんですね。
これでやってみたいと思います。

お礼日時:2011/10/09 13:08

方法はないでしょう。

人間の繰り返し作業ををVBAでやることは出来ます。自動でやってくれるイメージです。
しかし明日までということだと、質問者はVBAプログラムの経験が無いだろうから出来ません。
10シートぐらいのコピペは、ここに質問して、回答を待つことに比べたら直ぐ出来てしまいます。
仕事でエクセルを使うにはVBAが出来ることが必須というのが私の持論です(表の組み換えなどが頻繁にする必要がありえるからです)。表の組み換えなどは、関数では、特別の思い付き(スキル)が必要で、式が複雑になったりする。
ーーー
質問に書いてないが、各シートの項目構成や順序は同じなのだろうね。書いておくべきだ。難易大きく左右する。
    • good
    • 4
この回答へのお礼

ご回答ありがとうございます。

私には高度なことのようです。。
各シートの項目構成順序は同じです。
商品名・在庫数・仕入額等が入った表を、
商品のカテゴリごとにシートに分けてあります。
ちなみにもう一度確認したら、シートは19シートありました。
コピペでやってみたいと思います。

お礼日時:2011/10/09 13:06

「ひとつにまとめる」がどういう意味かにもよりますが、内容を1枚のシートに集めるという意味でしたら「そういう機能」はありません。

    • good
    • 1
この回答へのお礼

ご回答ありがとうございます。

内容を1枚のシートに集めるという意味です。
やはり無理ですか。ありがとうございました。

お礼日時:2011/10/09 13:06

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QEXCEL VBA ワークシートのコピーについて

seaclearsky8です。

一つのブックに何枚ものワークシートを追加して保存するVBAについて
ご教授、よろしくお願いします。

コピー元 

MASTER Book MASTER Workseets

コピー先

Copy Book copy Worksheets


コピー元にはワークシートがMASTERワークシートの一枚しかありません。

その一枚のワークシートに値をVBAで入れていき処理し

コピー先のコピーBOOKにワークシートをコピーしていきたいです。

しかし、MASTERBOOKの処理が何通りかあり、

コピー元の一枚のワークシートに
処理別にデータを写し

コピー先BOOKに

         ワークシート名
ワークシート1 処理1ワークシート 
ワークシート2 処理2ワークシート
ワークシート3 処理3コピー元ワークシート3

という具合にワークシートを複数コピーしたいのですが

処理ごとにデータを代入し、コピー処理はできるのですが。

コピー先BOOK

ワークシート3 処理3ワークシート

だけしかコピーされてないBOOKが作成されます。
上書きされているのだと思われます。

対処法が調べましたが見つけられていません。

すいませんが対処法及び参考VBA等ご教授宜しくお願いいたします。

seaclearsky8です。

一つのブックに何枚ものワークシートを追加して保存するVBAについて
ご教授、よろしくお願いします。

コピー元 

MASTER Book MASTER Workseets

コピー先

Copy Book copy Worksheets


コピー元にはワークシートがMASTERワークシートの一枚しかありません。

その一枚のワークシートに値をVBAで入れていき処理し

コピー先のコピーBOOKにワークシートをコピーしていきたいです。

しかし、MASTERBOOKの処理が何通りかあり、

コピー元の一枚のワークシートに
処理別にデータを写し

コピ...続きを読む

Aベストアンサー

今どういうコードを書いているのか不明なので、とりあえず
「1つのシートを別のブックに複数回コピーする」ための参考ソースを書きます。
コピー元のブックに下記ソースを貼り付けて実行してもらえば
新規ブックにコピー元のシートが3枚コピーされると思います。
(新規ブックを追加しているのでシート数は3枚より多くなります)

Sub copySheet()
Dim masterWb As Workbook
Dim masterSh As Worksheet
Dim copyWb As Workbook

Set masterWb = ThisWorkbook
Set masterSh = masterWb.Sheets(1)
Set copyWb = Workbooks.Add

'ここからが実際のコピー処理です。
'単純に3回コピーメソッドを呼び出して3回コピーしています。
masterSh.Copy before:=copyWb.Sheets(1)
masterSh.Copy before:=copyWb.Sheets(1)
masterSh.Copy before:=copyWb.Sheets(1)

End Sub

今どういうコードを書いているのか不明なので、とりあえず
「1つのシートを別のブックに複数回コピーする」ための参考ソースを書きます。
コピー元のブックに下記ソースを貼り付けて実行してもらえば
新規ブックにコピー元のシートが3枚コピーされると思います。
(新規ブックを追加しているのでシート数は3枚より多くなります)

Sub copySheet()
Dim masterWb As Workbook
Dim masterSh As Worksheet
Dim copyWb As Workbook

Set masterWb = ThisWorkbook
Set masterSh = masterWb.Sheets(1)
Set copyWb = W...続きを読む

Qエクセルで多数シートの表を1シートにまとめる方法

 エクセルで下記のような表があり、店舗別に100店舗分のシートがあります。それを分類A、B別に1枚のシートにしたいのですが、簡単に作る方法はあるでしょうか。

【店名ア シート】
分類A 個数
商品1 60
商品2 40
商品3 20

分類B
商品4 50
商品5 80
商品6 30

   ↓↓↓

【分類Aシート】         【分類Bシート】
店名ア 商品1 60       店名ア 商品4 50
      商品2 40              商品5 80 
      商品3 20             商品6 30
店名イ 商品1 30       店名イ 商品4 60 
      商品2 10             商品5 40
     商品3 20             商品6 20

Aベストアンサー

簡単に作る方法は思い浮かびませんがプログラムを作って、それにさせれば簡単です。ただ希望に沿ったプログラムに改造するには、ある程度VBAの勉強が必要かも。
プログラムを作る時、次の事項を明確にします。
・あるシートが店舗別シートなのか分類別シートなのかを判定する仕組み
(例)シート名に「店」という文字が含まれていたら店舗別シートとする。
・店舗別シート内のどのセルのデータが分類名を表しているのかを判定する仕組み
(例)分類名の前に「分類:」などを付加して「分類:○○」とインプットされたセルのデータを分類名とする。
この例を適用して作った下記プログラムをVBA標準モジュールに貼付け、マクロ実行を行うと実現できます。貼付方法は参考URLを。
Sub Test()
For Each cm In Sheets
If InStr(cm.Name, "店") = 0 Then
cm.Select
Cells.ClearContents
Range("A1").Value = "店舗名"
Range("B1").Value = "商品名"
Range("C1").Value = "数量"
End If
Next cm
For Each cm In Sheets
If InStr(cm.Name, "店") > 0 Then
cm.Select
rme = Range("A65536").End(xlUp).Row
bunsht = ""
For rm = 1 To rme
bunsht = "分類シート要追加"
If InStr(Cells(rm, 1), "分類:") > 0 Then
bnr = Right(Cells(rm, 1), Len(Cells(rm, 1)) - 3)
For Each cs In Sheets
If cs.Name = bnr Then
Sheets(bnr).Select
rsb = Range("B65536").End(xlUp).Row
Cells(rsb + 1, 1).Value = cm.Name
bunsht = "分類シート既存"
Exit For
End If
Next cs
If bunsht = "分類シート要追加" Then
Sheets.Add before:=Sheets(1)
ActiveSheet.Name = bnr
Sheets(bnr).Range("A2").Value = cm.Name
Sheets(bnr).Range("A1").Value = "店舗名"
Sheets(bnr).Range("B1").Value = "商品名"
Sheets(bnr).Range("C1").Value = "数量"
End If
Else
Sheets(bnr).Select
rsb = Range("B65536").End(xlUp).Row
If cm.Cells(rm, 1) <> "" And cm.Cells(rm, 2) <> "" Then
Cells(rsb + 1, 2).Value = cm.Cells(rm, 1)
Cells(rsb + 1, 3).Value = cm.Cells(rm, 2)
End If
End If
cm.Select
Next rm
End If
Next cm
MsgBox "終了"
End Sub

参考URL:http://excelvba.pc-users.net/fol1/1_1.html

簡単に作る方法は思い浮かびませんがプログラムを作って、それにさせれば簡単です。ただ希望に沿ったプログラムに改造するには、ある程度VBAの勉強が必要かも。
プログラムを作る時、次の事項を明確にします。
・あるシートが店舗別シートなのか分類別シートなのかを判定する仕組み
(例)シート名に「店」という文字が含まれていたら店舗別シートとする。
・店舗別シート内のどのセルのデータが分類名を表しているのかを判定する仕組み
(例)分類名の前に「分類:」などを付加して「分類:○○」とインプット...続きを読む

Qエクセル 他のファイル(ブック)へシートをコピー

エクセル(2003)で他のファイル(ブック)にシートをコピーする場合,コピー元のシートに他のシートの値を参照するセルがあると,コピー後のシートに参照エラーが起きてしまいます.
これを回避するため,コピー元のシートを全選択してコピーし,コピー先で「形式を選択して貼り付け→数値と数値の書式」をした後,再度コピー元のシート全選択コピーし,コピー先で「形式を選択して貼り付け→書式」とする,という方法で今は作業していますが,一発でできる方法はないでしょうか.
もちろん,コピー先にコピー元の数式を反映させる必要はなく,値がコピーできればOKです,

Aベストアンサー

ワークシートを他のブックにコピーする方法ですが
>コピー先にコピー元の数式を反映させる必要はなく,値がコピーできればOKです,
「反映させる必要が無く」という部分を「反映させてもかまわない」と
解釈すれば
コピー元ブックとコピー先ブックの両方を同時に開いておきます。(コピー先ブックを新規作成する場合は、コピー先ブックは開いておく必要はありません)
コピー元ブックのコピーするワークシートをアクティブにしてメニューバー[編集]~[シートの移動またはコピー]
「シートの移動またはコピー」ダイアログボックスで
「移動先ブック名」の項目で移送先ブックを選びます、新しく作成する場合は「(新しいブック)」を選びます。
「挿入先」の項目で、コピーするシートを挿入する位置を選びます。
「コピーを作成する」項目にチェックを入れます。
[OK]ボタンをクリック
これでワークシートごとコピーすることができます。

ただし、コピー元ブックのほかのワークシートを参照している箇所は、そのまま外部ブックへの参照となっていますので、コピー元ブックを変更した場合、コピーブック先ブックにも反映されてしまいます。

これが不都合なら
コピー先ブックで
メニューバー[ツール]~[オプション]で
「オプション」ダイアログボックスの「計算方法」タブの中の
項目「外部リンクの値を保存する」にチェックが入っていることを確認したうえで
メニューバー[編集]~[リンクの設定]で
「リンクの編集」ダイアログボックスの[起動時の確認]ボタンをクリック
「起動時の確認」ダイアログボックスの[メッセージを表示しないで、リンクの自動更新も行わない]を選択し[OK]ボタンをクリックします。

こうしておけばリンクの手動更新をしない限り、コピー元ブックを変更しても反映されませんし、コピー元ブックをフォルダの移動やあるいは削除してしまっても、参照エラーになることはありません

ワークシートを他のブックにコピーする方法ですが
>コピー先にコピー元の数式を反映させる必要はなく,値がコピーできればOKです,
「反映させる必要が無く」という部分を「反映させてもかまわない」と
解釈すれば
コピー元ブックとコピー先ブックの両方を同時に開いておきます。(コピー先ブックを新規作成する場合は、コピー先ブックは開いておく必要はありません)
コピー元ブックのコピーするワークシートをアクティブにしてメニューバー[編集]~[シートの移動またはコピー]
「シートの移動またはコピ...続きを読む

Q複数のエクセルシートの表をひとつにまとめたい。

複数のエクセルシートの表をひとつにまとめたい。

複数のエクセルシートにある表を、1つのシートにまとめたいのですが、いい方法はありますか?
マクロは使い方がわからないので、簡単な方法があると助かります。

Aベストアンサー

ご希望の仕掛けを説明したサイトはVBAですがありそうです。どうでしょうか。『複数』『シート』『まとめる』『エクセル』で検索すると出ます。今のレベルでできそうな仕掛けがあればと思います。

QEXCEL VBA ワークシートのコピーについて

seaclearsky8です。

一つのブックに何枚ものワークシートを追加して保存するVBAについて
ご教授、よろしくお願いします。

コピー元 

MASTER Book MASTER Workseets

コピー先

Copy Book copy Worksheets


コピー元にはワークシートがMASTERワークシートの一枚しかありません。

その一枚のワークシートに値をVBAで入れていき処理し

コピー先のコピーBOOKにワークシートをコピーしていきたいです。

しかし、MASTERBOOKの処理が何通りかあり、

コピー元の一枚のワークシートに
処理別にデータを写し

コピー先BOOKに

         ワークシート名
ワークシート1 処理1ワークシート 
ワークシート2 処理2ワークシート
ワークシート3 処理3ワークシート

という具合にワークシートを複数コピーしたいのですが

処理ごとにデータを代入し、コピー処理はできるのですが。

コピー先BOOK

ワークシート3 処理3ワークシート

だけしかコピーされてないBOOKが作成されます。
上書きされているのだと思われます。

対処法が調べましたが見つけられていません。

すいませんが対処法及び参考VBA等ご教授宜しくお願いいたします。

seaclearsky8です。

一つのブックに何枚ものワークシートを追加して保存するVBAについて
ご教授、よろしくお願いします。

コピー元 

MASTER Book MASTER Workseets

コピー先

Copy Book copy Worksheets


コピー元にはワークシートがMASTERワークシートの一枚しかありません。

その一枚のワークシートに値をVBAで入れていき処理し

コピー先のコピーBOOKにワークシートをコピーしていきたいです。

しかし、MASTERBOOKの処理が何通りかあり、

コピー元の一枚のワークシートに
処理別にデータを写し

コピ...続きを読む

Aベストアンサー

> 配列にワークシートのオブジェクトを入れることとか可能なのでしょうか?

それは多分できないと思います。


> 複数のセル・シートを何回もコピーする場合にでるらしいです。

多分、メモリをたくさん使っちゃってるせいでしょうね。
まず、メモリ使用を減らすようにしましょうか。

・testwriteの最後にオブジェクト変数のメモリ解放を行う。
 具体的には以下のように書く。もうやってたらすみません。
Set cbook = Nothing
Set mastersheet = Nothing
・testwriteの中でのブックオープンおよび保存をやめる。
 新規ブックのオープンをtestwriteを呼ぶ前に1度だけ行い、
 testwriteの中ではその新規ブックに対してシートを追加していく。
 そしてtestwriteの処理が全部終わったら、
 新規ブックの全シートを1度に「記録シートYYYY/MM/DD.xls」にコピーする。

それでも駄目でしたら、以下の回答No.1を試してみてください。
http://oshiete.goo.ne.jp/qa/1822561.html

> 配列にワークシートのオブジェクトを入れることとか可能なのでしょうか?

それは多分できないと思います。


> 複数のセル・シートを何回もコピーする場合にでるらしいです。

多分、メモリをたくさん使っちゃってるせいでしょうね。
まず、メモリ使用を減らすようにしましょうか。

・testwriteの最後にオブジェクト変数のメモリ解放を行う。
 具体的には以下のように書く。もうやってたらすみません。
Set cbook = Nothing
Set mastersheet = Nothing
・testwriteの中でのブックオープンおよび保存をやめ...続きを読む

Qエクセル、複数のシートのデータをマクロでコピーを行い別シートに貼り付けまとめる方法

シートが27シートあります。シートごとにデータが入っているものをコピーを行い一つのシートにまとめたいと思っております。

Sheet1~Sheet27までそれぞれ名前を変更しております。
1つのシートには、1個目のデータ1行目が、A列の7行目からH列7行目まであります。
7行目から下にデータが入っております。
シートの中には、データが入っていないものもございます。

シートのデータを一つのシートにまとめたいと思っております。

素人で申し訳ございません。
お教え下さい。

Aベストアンサー

>1つのシートには、1個目のデータ1行目が、A列の7行目からH列7行目まであります。

ここの意味が良く分かりませんが、各シートの1行目から7行目までがヘッダーとなっており、
8行目以降に、A~H列までデータがあると理解して書きます。
シートは1枚目から27枚目まで。

'--------------------------------------------------------
Option Explicit

Sub DATA_MATOME()
Dim k As Integer, LstRow As Long, TgtRow As Long
Dim WsM As Worksheet, Rng As Range

Application.ScreenUpdating = False

'まとめシートを作成し、ヘッダーを作成
Set WsM = Worksheets.Add(before:=Worksheets(1))
ActiveSheet.Name = "まとめ"
With Worksheets(2)
 Set Rng = .Range(.Cells(1, 1), .Cells(7, 8))
End With
Rng.Copy WsM.Cells(1, 1)

'1~27枚目をループ
For k = 2 To 28
 Worksheets(k).Select
 LstRow = Cells(Rows.Count, 1).End(xlUp).Row

 If LstRow > 7 Then 'データがあるならそのデータをコピーしてまとめシートへ
  Set Rng = Range(Cells(8, 1), Cells(LstRow, 8))
  TgtRow = WsM.Cells(Rows.Count, 1).End(xlUp).Row + 1 'まとめシートの貼付行
  Rng.Copy WsM.Cells(TgtRow, 1)
 Else
 End If
Next k

WsM.Select

Set Rng = Nothing
Set WsM = Nothing
Application.ScreenUpdating = True

MsgBox "End."

End Sub
'--------------------------------------------------------

>1つのシートには、1個目のデータ1行目が、A列の7行目からH列7行目まであります。

ここの意味が良く分かりませんが、各シートの1行目から7行目までがヘッダーとなっており、
8行目以降に、A~H列までデータがあると理解して書きます。
シートは1枚目から27枚目まで。

'--------------------------------------------------------
Option Explicit

Sub DATA_MATOME()
Dim k As Integer, LstRow As Long, TgtRow As Long
Dim WsM As Worksheet, Rng As Range

Application.ScreenUpdating = False

'まと...続きを読む

Qワークシートを別ファイルにコピー出来ない

エクセル2010です。
コピー元ファイルを開き、ファイルメニュー→新規→空白のブック
により新ファイルを開き、コピー先ファイルとして名前を付けて保存、
コピー元ワークシートを選択しシートコピーしようとすると、以下のエラー表示があります。

文面忘れましたが、
コピー元とコピー先でワークシートの行列数が異なるため、コピー出来ない。ワークシートでなくデータを選択し、コピー&ペーストせよ。

ちなみに、作成したコピー先ファイルを一旦閉じて再度開くと、何故か普通にワークシートコピー出来ます。

メッセージに従うとセル幅や印刷範囲の設定がコピーされないので、やりたくありません。
普通にシートコピーしたいのです。一旦閉じて再度開くなどという動作は回避出来ないのでしょうか?

Aベストアンサー

先にコピー先のファイルを作成するのではなく、
コピーしたいシート見出しを右クリック
「移動またはコピー」をクリック
移動先Book名「新しいBook」
「コピーを作成する」にチェック

ではどうでしょうか?

これでもうまくいかなければ、、同様に作業するほかないのかもしれません。

Qエクセルの複数ブックをひとつにまとめる方法

エクセルのデータを複数人数で編集しようと思っています。
それぞれが保存したデータをひとつのブックにまとめたい時、どのようにしたら良いでしょうか?
一つ一つコピペしないとだめでしょうか・・・
何か、統合の機能のようなものがあればいいのですが。
データは数値データばかりでないので「統合」機能は使えないのです。
よろしくお願いいたします。

Aベストアンサー

VBAでの回答例を1つ。
ブックAのシートa1,b1,c1,・・と
ブックBのシートa2,b2,c2,・・と
ブックCのシートa3,b3,c3,・・と
・・・・
をBook1に、シートを追加して、Range(指定範囲)を
コピーしa1,b1,・・a3,・・を貼りつけます。Rangeには各シートa1,,C3,・・のうちで最も広い範囲を指定してください。(下記例ではws.Range("A1:d20").Copy の()内のA1:d20の部分です。)
コピー元のファイル(ブック)の数によって、For i = 1 To 10の10を適当な数に変えてください。
自動的にその回数分をファイル名を聞いてきて繰り返します。
------
Sub test01()
Dim ws As Worksheet
For i = 1 To 10
Application.FindFile
For Each ws In ActiveWorkbook.Worksheets
Set nw = Workbooks("Book1").Sheets.Add
ws.Range("A1:d20").Copy Destination:=nw.Range("A1")
Next
ActiveWorkbook.Close
Next i
End Sub
少数例ではテストしましたが、コピー元はコピーを取るなどして慎重にテストして見てください。

VBAでの回答例を1つ。
ブックAのシートa1,b1,c1,・・と
ブックBのシートa2,b2,c2,・・と
ブックCのシートa3,b3,c3,・・と
・・・・
をBook1に、シートを追加して、Range(指定範囲)を
コピーしa1,b1,・・a3,・・を貼りつけます。Rangeには各シートa1,,C3,・・のうちで最も広い範囲を指定してください。(下記例ではws.Range("A1:d20").Copy の()内のA1:d20の部分です。)
コピー元のファイル(ブック)の数によって、For i = 1 To 10の10を適当な数に変えてください。
自動的にその回数分をフ...続きを読む

QEXCELシートのコピー

あるExcelブックに統計表シート、グラフシート、グラフ用の数値シートがあります。

グラフシートだけ別の場所にコピーすると、コピーしたグラフシートのブックを開いたとき、このグラフシートはコピー元の数値シートにリンクしたままになりますが、このリンクを無効にしてシートコピーする方法はありますか。

Aベストアンサー

こんにちは。

グラフを、セルの値にリンクしないカタチにしたい
という主旨であると判断しました。

グラフをまず選択してください。

そしてShiftを押しながら、メニューの[編集]を選択すると、
「図のコピー」というメニューが現れます。

これをクリックすると、ダイアログが現れますが、
そのままOKします。

そして、シートの何もない部分をクリックします。

そして、メニューから
 編集-貼り付け
で、セルの値にリンクしないグラフ
(正確に言うとこれはグラフの「画像」です)
が貼り付けられます。

Q複数のシートのセル内容をひとつにまとめたい

複数のシートのセル内容をひとつにまとめたいと思っています。

Sheet1        Sheet2      Sheet3
1 山田 ¥100  1 山田 ¥80  3 鈴木 ¥80
2 佐藤 ¥130  2 佐藤 ¥55  4 田中 ¥150
3 鈴木 ¥110  4 田中 ¥60

こんなデータを
Sheet4
1 山田
2 佐藤
3 鈴木
4 田中
とまとめたいんです。
金額は必要ないので、番号と名前だけをまとめたいんです。

どうすれば良いか、教えてください。
よろしくお願いします。

Aベストアンサー

#2です。
この辺をよく読んでやれば良いと思いますよ。

参考URL:http://www11.plala.or.jp/koma_Excel/contents6/mame6040/mame604001.html


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング