• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:1シート内にまとめられているデータを分割してコピーし、それを別の複数の)

シート内データを分割し別のシートへコピー・ペーストする方法

goo793wwの回答

  • goo793ww
  • ベストアンサー率80% (8/10)
回答No.5

'▼(6)シート有無チェック(なければ最後部に追加) For i = 0 To myDic.Count - 1 For Each mySh In Worksheets myFlg = False '▼(7)振分先シートが有ればデータ領域を削除する If mySh.Name = myKey(i) Then myFlg = True Worksheets(myKey(i)).Activate '…シート切替え(部分削除:シートをActiveにする必要がある) xxRow = Worksheets(myKey(i)).Cells(Rows.Count, kyoukaNo).End(xlUp).Row Worksheets(myKey(i)).Range(Cells(3, kyoukaNo), Cells(xxRow, kyoukaNo)).ClearContents Exit For End If Next mySh '▼(8)振分先シートが無ければシートを追加する If myFlg = False Then ActiveWorkbook.Worksheets.Add(After:=Worksheets(Worksheets.Count)).Name = myKey(i) '追加シートの書式設定をする Cells.Select With Selection.Font .Name = "MS ゴシック" .Size = 11 End With Range("A1").Select End If '▼(9)項目を各シートへ表記 Worksheets(myKey(i)).Activate '…シート切替え Worksheets(myKey(i)).Rows("2:2").NumberFormatLocal = "@" '…書式(文字列) Worksheets(myKey(i)).Columns("A:A").NumberFormatLocal = "@" '…書式(文字列) Worksheets(myKey(i)).Range("A1").Value = "ID:" & myKey(i) '…生徒ID Worksheets(myKey(i)).Range("B1").Value = myVal(i + 1, 2) '…生徒名 Worksheets(BaSheet).Range("C2:G2").Copy Worksheets(myKey(i)).Range("A3").PasteSpecial Paste:=xlPasteValues, Transpose:=True '…試験日(行列を入替えて値張付け) Application.CutCopyMode = False '…Copy:クリップボード解放 Worksheets(myKey(i)).Cells(2, 1).Resize(1, kyoukaSu).Value = kyouka '…教科名表示 Worksheets(myKey(i)).Range(Cells(2, 2), Cells(2, kyoukaSu)).HorizontalAlignment = xlRight '…右端表示 Worksheets(myKey(i)).Range(Cells(2, 1), Cells(2, kyoukaSu)).Interior.ColorIndex = 24 '…背景色:淡い紫 Range("A1").Select '▼(10)値を各シートへ転記

aw-dlay
質問者

お礼

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

関連するQ&A

  • エクセルで複数のシートからデータを抽出する方法

     複数のシートから特定の人のデーターのみを1つのシートに集め,A君~Z君まで順番にシートを作成する方法を教えてください。  例えば…, シート1に番号,生徒名,中間テスト国語,数学,… シート2に番号,生徒名,期末テスト国語,数学,… と一覧になったものがあり,これを個人カードに直したいと思います。 シート3に,A君の国語中間・期末,数学中間・期末,… シート4に,B君の国語中間・期末,数学中間・期末… シート5に,C君の国語中間・期末,数学中間・期末… というものを作りたいのです。 しかし,シートをコピーしてもA君のデータのままで,参照先が自動的に更新されてB君のデータにならないので,困っています。 どうすれば,シート4にB君のデータ,シート5にC君のデータ,…を反映させることができるのかぜひ教えてください。よろしくお願いいたします。

  • エクセルの1シートの内容を複数のシートに分割したい。

    前任者から引き継いだエクセルのファイルを見やすくしたいと思っています。 1ページにつき1つの表が作られているのですが、一枚のシートのページ数が膨大で、とても見にくいのです。ページ毎に(一つの表毎に)違うシートにしたいのですが、地道にコピー&ペーストをしなければならないでしょうか。 一発でバチッとページ毎にシートにできる方法はありますか? windowsXP, Excel 2002を使用しています。

  • エクセルVBA複数ファイルのデータを1つのシートに

    (1)サーバー上にある圧縮ファイルをダウンロード (URLはエクセルの一覧表をクリック)※図A (2)ダウンロードした圧縮ファイル(ZIP形式)を解凍する (3)エクセルファイルを開いて範囲を指定してコピー (コピーする範囲はB2:C101の100行2列のデータ)※図B (4)コピーしたデータを別ファイルのエクセルシートにペースト (シートは1枚、下に下に続けてペースト) 表にあるURL一覧の最後まで(1)~(4)を繰り返す (パソコン環境) Windows10 Google Chrome Excel2010

  • Excelでデータを取り出したいとき

    初めて質問させてもらいます。     A君   B君 国語  85   社会      87  数学  90  95 理科      83 英語  97 このような感じで、点数80点を超えた場合のみ点数を入力していくとした場合に、別のシートにA君・B君が取った点数を、教科などを気にせずに80点以上の点数を表にまとめるという形で抽出することは可能でしょうか? また、これと同じような表が複数個ある時に、それらすべてをまとめて表にする、ということもできるのでしょうか?? VLOOKUPなどでやってみたのですがどうしても空欄ができてしまい、表がどうしても見にくくなってしまいます。どなたがご助力お願いします。

  • エクセルで複数シート間での重複データを避けるための方法

    エクセルで複数シート間での重複データを避けるための方法 こんにちは いつもお世話になっています。 エクセル2003を使用しています。  Sheet1は表引き先です。A1に検索値(名前)を入れると、他のシート(教科別)からコード(数字)を引いてきます。具体的には、セルA2以下に教科名、セルB2以下にコードを引いてきます。 例えば 教科 コード 国語 1 算数 2 英語 3 こんな感じです。 Sheet2は国語、Sheet3は算数、Sheet4は英語で、それぞれA列に名前、B列にコードを入力します。 例えば、 新井 1 井上 2 上野 3 こんな感じです。 ここで質問です。Sheet1でのコードの表引きで各教科のコードが重複しないようにしたいのです。Sheet1での確認ではなく、実際に各教科ごとのシート(Sheet2-4)のコード欄に他の教科のコードが重複した時に、重複を知らせるようなプログラムを作りたいのです。どの教科から入力するかは不定ですが、必ず入力されます。 (ここでの「重複」とは、あくまでもSheet1の「名前」で表引きしたときの各教科のコードの重複のことです。つまり、例えばSheet2で「新井」と「井上」のコードが重複しても構いません。) わかりにくい表現でしたらお詫びします。情報の不足がありましたら教えてください。よろしくお願いします。

  • 【Excel】複数あるシート上の住所録を重複なく別のシートへまとめる方法を調べています

    はじめまして、こんにちは。 仕事でエクセルを使って困ってしまいました。 現在、社内の各部署が抱えている顧客住所録を、エクセルでシートごとにまとめているのですが(住所の入力フォーマットは共通です)、 これらをさらに別のシートへ重複なくまとめた「一覧表」を作成したいと思っています。 普段はコピー&ペーストでしのげるのですが、各部署の住所録は各人が随時アップデートされるため、その都度コピペをしていると手間となってしまいます。 そこで部署の住所録シートに入力があれば、自動的に「一覧表」シートへの入力も済まされている状態にしたいと考えているのですが、現在まで試行錯誤している次第です。。 そこで下記の要件を満たすにはどのようにすればよいかご指南をお願いいたします。  ・各シートにある住所録を、さらに新しい別のシート「一覧表」へまとめたい  ・「一覧表」へまとめられた住所録では、重複を省きたい。  ・各シートへ新規に入力した住所は、自動的に「一覧表」へも入力されるようにしたい。

  • EXCELの検索結果を別シートに貼り付けたい

    学校で事務を行っています。 成績の管理をエクセルで行っているのですが、特定の生徒について成績データを 取り出したく、質問をお願いします。m(_ _)m 作成した成績データSheetのうち、番号を指定した生徒について、成績取込Sheetに 教科コードが一致する教科の点数・生徒番号・生徒氏名をVBAを使用して貼り付け たいのですが、どのようすればよいでしょうか? よろしくお願いいたします。

  • マクロを使って、抽出したデータを別のファイルにコピーしたい

    VBA初心者です。 自動記録で、フィルターオプション設定を使い抽出したデータを、別ファイルにまとめようとしています。 自動記録ですので、実行はできるのですが、このままだとデータの更新があった時、 範囲の指定をやり直すことになりますので、少しシンプルで応用の効くコードにしたいと思っています。 集約するシート:テスト用 sheet1(集約) sheet2(条件) 元のデータ:金額一覧表(01~03) 金額一覧表(04~06) 金額一覧表(07~10) sheet1=ファイル名 <各データは2万~3万件> Sub 抽出_1() Windows("金額一覧表(01~03).xls").Activate Range("A1:R16824").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _ Workbooks("テスト用.xls").Sheets("条件").Range("A1:F27"), Unique:=False End Sub ------------------------------------------------ Sub データを転記_1() Windows("金額一覧表(01~03).xls").Activate Selection.SpecialCells(xlCellTypeVisible).Select Selection.Copy Windows("テスト用.xls").Activate Sheets("集約").Select Range("A1").Select ActiveSheet.Paste Application.CutCopyMode = False End Sub ---------------------------------------------------  又、金額一覧表(01~03)のデータを貼り付けた後、 金額一覧表(04~06)も同じようにデータ抽出コピーしようとしたのですが、 Sub データを転記_() の6行目に下記のようなコードを入れたところ、 7行目がデバックしてしまいました。 (実行時エラ-:1004   コピー領域と貼り付け領域の形がちがうため情報を貼り付けることができません) とエラーが出てしまいました。 6行目  Set sakiRng = Range("A65536").End(xlUp).Offset(1) 7行目  ActiveSheet.Paste  ←ここがデバック 何か指定し忘れているものがあるのでしょうか? お知恵拝借できれば幸いです。

  • エクセルで別シートにデータ抽出したい

    一覧表として作成したシートのデータのうち、ある条件のものだけ別シートにデータ抽出するにはどうしたら良いですか? 例えば、 NO. 担当 金額 1  佐藤 200 2  佐藤 100 3  鈴木 200 4  佐藤 400 とある「一覧表」シートのデータから 担当:佐藤のデータだけ抜き出した表を別シート(「個人別」シート)に作成したいのです。 できれば、「一覧表」に新データを追加する度に、「個人別」シートにもデータが自動反映するようなものが望ましいのですが。 そんなことは可能でしょうか? アクセスを使えば簡単にできるかとは思いますが、アクセスがないので、エクセルで代用できればと。 宜しくお願いいたします。

  • エクセルの複数ワークシートに、元シートのセルを参照させる方法

    用語の使い方が間違っているかもしれませんが・・・。こんなことを考えています。 「元シート」に成績一覧表をつくりました。そして、続く複数シートに、個票を人数分(40人分)作成してあります。     算数 国語 ひろし 50 60 はなこ 70 80 しんじ 40 20 ひろしの個票シート(算数の点数を表示したい枠)に=元シート!B2と入力し、次に、はなこのシートを開いて=元シート!B3と入力しました。この作業を40回も繰り返すのではなく、コピーのような機能で簡単に全員分の個票シートに一覧表を反映できる方法はないものでしょうか?教えてください。