• ベストアンサー

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/7941)
回答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