• ベストアンサー

Excelで複数シートに対する操作を行いたいです。

Microsoft Excelに関する質問です。 Sheet1のA1,A11,A21..の等間隔に並んだ情報を、 Sheet2のA1,A11,A21...にコピーする方法を探しています。 ただし条件として、A2~A10、A12~A20...にはすでにデータが入っているので列自体をコピーペーストする方法は不可として、 また可能なら一括して同様のデータを、Sheet3以降にも貼り付けたいと考えています。 ちまちま全シートに貼り付けてもできない量ではないのですが、 もしスマートな解決方法があるようなら教えていただければと思います。

質問者が選んだベストアンサー

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

こんばんは! VBAでの一例です。 Alt+F11キー → 画面左側の「This Workbook」をダブルクリック → VBE画面に ↓のコードをコピー&ペーストしてマクロを実行してみてください。 (Alt+F8キー → マクロ → マクロ実行です) Sub コピー() 'この行から Dim i As Long, k As Long, ws As Worksheet Set ws = Worksheets("Sheet1") For k = 2 To Worksheets.Count For i = 1 To ws.Cells(Rows.Count, 1).End(xlUp).Row Step 10 ws.Cells(i, 1).Copy Destination:=Worksheets(k).Cells(i, 1) Next i Next k End Sub 'この行まで ※ Sheet2以降すべてのSheetにコピー&ペーストするようにしています。 こんな感じではどうでしょうか?m(_ _)m

mi_stan
質問者

お礼

なるほど。これはつまりsheet"k"からworksheet.countまでのsheetに、 ws(sheet1)のセル1+10n番目のセルをコピーするマクロですね。(n=0,1,2,3...,xlUp) 久々VBAに触れましたが、理解できると面白いですね。ちょっと勉強しなおしてみようと思います。 素早い回答どうもありがとうございました。

その他の回答 (1)

  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.1

「セルをコピーしたい」のと,シート1に記入した「内容が転記されればいい」とで,だいぶ難易度が変わります。 具体的には ・文字色やセルの色塗りと言った書式情報までを引き写したいなら,コピーする必要があります。 ・数字や文字などの記入内容だけ他シートに持って行ければいいなら,数式で参照させた方が簡単です。 作業例: シート2以降を作業グループにする シート2のA1に =Sheet1!A1 実際には =Sheet1!A1&"" あるいは =IF(Sheet1!A1="","",Sheet1!A1) と記入する(シート1のA1,A11…に具体的にどんな内容が記入されるのかに応じて適切な数式を使い分ける) シート2のA1をコピーし,A11,A21…にふつーに貼り付ける 作業グループを解除する。 コピーする方法: コピー元のシート1をシート複製し,シート1作業シートを準備する 他のシートにコピーしたくないA2~A10,A12~A20を「空っぽ」にする (オートフィルタなどを活用して手早く作業すること) A列を列コピーする シート2以降を作業グループにしてA1を選び,形式を選んで貼り付けで「空白を無視する」にチェックしてOKする

mi_stan
質問者

お礼

こんばんは。今回の質問の意図としては文字列のみのコピーで問題ありません。 ただ、今回の例ではシート数が膨大であり、 すべてのセルにいちいちコピーペーストをするのが面倒だったので質問させていただきました。 質問の仕方が悪かったようで、これは求めていた回答ではありませんでしたが、 丁寧な回答をしていただきどうもありがとうございました。

関連するQ&A

  • エクセルで複数のシートにあるものをひとつに

    お世話になっております。 似たような質問を検索してみましたが、いまいち要領がつかめませんので教えて下さい。 ブックに複数のシートがあり、それをを同じブックまたは、別のブックでもいいので一つのシートにまとめたいのですが何かいい方法はありますでしょうか? ブックにより、シート枚数が違います(多いものは30シート以上)。 同じブックでの各シートの列のタイトルは同じで、行はデータ量により違います。(多いものは1000行以上) イメージとしては、シートを全コピーして、新しいシートにペースト。 次のシートを全コピーしてそれを、今ペーストした下の行にペースト。 現在はこのコピー&ペーストで地道に作業しております。 かなり時間を取られております。 XPでオフィスは2007を使用しております。

  • エクセル 複数のシートに同じ操作をする

    データベースを作っています。 シート一枚に一件のデータです。 ですから、複数のシートで同じ並びに同じようなデータが入っています。 例えばシートAを基本にしてシートB、Cがあった場合 列a~dにデータがありましたが これを全部削除して他のデータを入れるという作業をする時に 列削除をすると削除後、選択状態は続いたままですよね。 シートAの列a~dに新しいデータを入れた場合も シートB,Cの列選択はまだ続いたままなので シートAの列a~dをコピーして あとはシートB,Cを選択してCTRL+Vするだけで データが入っていくので楽です。 で、ようやく質問なのですが 最後のシートB,Cの選択をいちいちしないでも 一気にBもCもペーストすることはできますでしょうか? 今はシートが二枚くらいなので問題ないですが シートが20枚とかになったら面倒だなと思いまして。 分かりにくい質問文で失礼します。 どなたかよろしくお願い致します。

  • エクセル、複数シートの結合、一括操作について

    元とするエクセルの在庫表がサーバー上にあり、それを使って自分用にオリジナルを作りたいと考えているのですが、エクセルに複数のシート(10シート)があるとして、シートを一括結合することは可能でしょうか? もしくは一括結合が出来ない場合、オリジナルの方へシートを元となるエクセル(在庫表)から一括でコピーして、全シートのB列のみを一括コピー貼り付けすることは可能でしょうか?

  • エクセル 複数シートのデータを1シートにまとめるマクロ

    エクセルの複数シートにデータがあります。同じ条件の人のデータだけをひとつのシートにまとめたいのですが、マクロを教えていただけますでしょうか。それとも、マクロ以外に良い方法がありますか? エクセル初心者なので、あたりまえのことも知らないかもしれません。。。  【データ】 ●シート1からシート20まで、同じ配列でデータがあります。 ●1行目は見出しです。2行目から1人づつのデータです。(多くても65行までと思っています。) ●A列に到達度、B列に出欠をいれました。 ●C列からM列が氏名、課題、その他のデータです。 ●リストはシート21にあります。  【こんな作業でしょうか?】 ●シート1から20で A列が「C」または「D」ならば その行のA列からM列をコピーして シート21のA列からM列に形式を値にして張り付ける ●シート1から20で B列が「欠」ならば その行のA列からM列をコピーしてシート21のA列からM列に形式を値にして張り付ける (っというのが私の乏しい知識で考えた方法なのですが、これでは不具合がでますか? もちろん、この方法じゃなくもっといいのがあれば、それをやってみたいです。)

  • エクセル複数シートから一定の範囲を1シートへVBA

    エクセルのVBAで質問です。 A1~A3行までは、タイトル(3行が列タイトル) A4行以降から一定のデータが入っており、商品ごとにシートを分けています。 列BF4~BM81までのデータを自動でコピーし、全データシートも自動でできればと思っています。 BF4列には、日付が入っており、複数のシートからコピーされたものは、日付順にて並べたい。「全データシート」を自動で作成する方法は、ネットにて調べることができたのですが、一定の範囲内の複数シートを合算し、日付順に並べ替えて自動でコピーするというのが分かりません。 VBAも全くの初心者です。 詳しくお教えいただればと思います。 よろしくお願いします。

  • エクセル シート参照

    以下のシート1にシート2のデータを参照したいですが、データの量が多くて、もっと簡単な方法がないでしょうか? EX:シート1のA列に入力した内容     A 1 sheet2!A1   2 sheet2!A5 3 sheet2!A9 4 sheet2!A13   ・   ・   ・ シート1A 列にシート2A列の4行間隔で参照したいです。 うまく伝えられないですが、何か知恵をいただきたいです。 よろしくお願いいたします。

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

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

  • 複数のシートのデータをひとつのシートに纏める

    EXCELにおいて、複数のシートのA列のデータをひとつのシートにまとめるにはどのようなマクロを組めばよいのでしょうか。 (内容) ”Cycle1”SheetのA列をコピー⇒”まとめ”SheetのA列に貼り付け ⇒”Cycle2”SheetのA列をコピー⇒”まとめ”SheetのB列に貼り付け ⇒”Cycle3”SheetのA列をコピー⇒”まとめ”SheetのC列に貼り付け ⇒”Cycle4”SheetのA列をコピー⇒”まとめ”SheetのD列に貼り付け ・・・。 現在は、上記の内容を手動でやっており、シート数が多い場合大変です。 よろしくお願いします。

  • 【エクセル】プルダウン設定のシートを複製コピーする方法

    エクセルでプルダウンが設定されているシートを、複製コピーして 同じシート内で増やす方法を教えてください。 新しいシートを挿入で増やし、元データのシートの左上(A列と1行の角)をクリックし オールコピーして、新しいシートに同じくオールペーストすると、 プルダウン設定だけがすべて消えてしまいます。 よろしくお願いします。

  • エクセルのマクロで各Sheetのデータを複数コピー&ペーストしたいです

    エクセルのマクロで各Sheetのデータを複数コピー&ペーストしたいです 1つのエクセルファイルの中に複数のSheetがあります。 各Sheetの4行目以降(5行目から)にデータのあるA列~O列をコピーしていって、 挿入-ワークシート(Sheet1という名前で構わない)に全てを順番にコピーしていきたいです。 ”新しいマクロの記録”で下記のように作成したのですが、  ・5行目からデータのあるA列~O列をコピーしていく   ・存在する全てのSheetから上記の作業をする というマクロの書き方が分かりません。 恐れ入りますがお時間ある方で上記の内容をご理解頂ける方がいましたらアドバイス頂ければ非常に助かります。 Sub Macro1() Sheets.Add Sheets("ER10(zy)").Select Rows("5:8").Select Selection.Copy Sheets("Sheet1").Select ActiveSheet.Paste Sheets("ER10(cx)").Select Rows("5:9").Select Application.CutCopyMode = False Selection.Copy Sheets("Sheet1").Select Range("A5").Select ActiveSheet.Paste Sheets("ER10(zht)").Select Rows("5:13").Select Application.CutCopyMode = False Selection.Copy Sheets("Sheet1").Select Range("A10").Select ActiveSheet.Paste End Sub

専門家に質問してみよう