統合セルの複数セルコピー&ペースト方法

このQ&Aのポイント
  • 統合セルが混じった複数のセルをコピーしてペーストする方法について教えてください。
  • シート1にある統合セルと非統合セルの情報をコピーして、別のシートにペーストする方法を知りたいです。
  • 統合セルを含む複数のセル情報をコピーして、同じ形式で別のシートに貼り付ける方法を教えてください。
回答を見る
  • ベストアンサー

統合セルの混じった複数セルのコピー&ペーストがわかりません。

複数のセルのコピー、その後その情報を操作してペーストする方法がわかりません。 シート1にある情報は、 A1:E8は、1行づつ統合されています。A1:E1が統合されておりvalue=「1」、A2:E2が統合されておりvalue=「2」、・・A8:E8が統合されておりvalue=「8」、という具合です。 A9:E19は、統合されておらず、それぞれのセルに情報が入っています。 それらA1:E19を1単位として、右隣に同じ形式(2単位目はF1:J19)の情報が100個ほど並んでいます。 このシート1に対し、 Set IntTest = Application.InputBox(Prompt:="範囲をドラッグしてください。",Type:=8) で「$A$1:$E$8,$B$9:$B$19」と入力したら、その情報をコピーして、別シート2のA列1列にそれらの情報をペーストしたいのです。その後次々に、シート1の入力した単位の隣の単位に対しても同じことをしていきたいのです。シート1の2単位目のF1:J19に対して、相対的に同じ部分をシート2のB列1列に貼り付け・・という具合に。 よろしくお願いします。

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

  • ベストアンサー
  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.1

> A1:E19を1単位として、右隣に同じ形式(2単位目はF1:J19)の情報が > 100個ほど並んでいます。 100 個というのが意味不明です。 A ~ E 列なら 1 単位辺り 5 列なので、100 単位となると 5 × 100 で 500 列必要になりますね。。Excel2007? 若しくは、5 列 × 20 単位 = 100 列 という意味ですか? >「$A$1:$E$8,$B$9:$B$19」と入力したら、その情報をコピーして、 > 別シート2のA列1列にそれらの情報をペーストしたいのです。 仮に、「$A$1:$E$8,$B$9:$F$19」が選択された場合はどうします? ポイントになりそうなのは、   1. MergeArea   2. Offset ですかね。。働きはヘルプで調べてみて下さい。 結合セルの値は、結合セルの一番左角のセルから取得します。例えば A1:C10 が結合されているなら A1、F10:J20 なら F10 のように。 ご希望の動作を正しく理解している自信がありませんが、とりあえず テストコードということで回答してみます。 Sub macro()      Dim Sh  As Worksheet   Dim rSrc As Range   Dim r   As Range   Dim i   As Long   Dim lRow As Long   Dim lCol As Long   Set rSrc = Application.InputBox( _         Prompt:="範囲をドラッグしてください。", _         Type:=8)   If rSrc Is Nothing Then Exit Sub      Set Sh = Worksheets.Add(After:=ActiveSheet)   lRow = 1   lCol = 1   For i = 1 To 20     For Each r In rSrc       ' // MergeArea で取得されるセルの一番左角のセルであった時       ' // のみ転記処理を行う。結合セルであるかどうかは問題ではない       If r.Address = r.MergeArea(1).Address Then         Sh.Cells(lRow, lCol).Value = r.Value         lRow = lRow + 1       End If     Next     ' // 1単位は 5 列で構成されるので、次の単位における     ' // 同位置は Offset(0,5)     Set rSrc = rSrc.Offset(0, 5)     lRow = 1     lCol = lCol + 1   Next   Set rSrc = Nothing End Sub

shishsi
質問者

お礼

つたない質問から、良い回答を書いていてありがとうございます。 If r.Address = r.MergeArea(1).Address Then の部分、特に参考になりました。ありがとうございました。

関連するQ&A

  • セルのコピーペースト

    ある人が、シート「Sheet1」のセルA1をコピーして セルB1にペーストしました。 この操作をされたことを知る方法ってありますか? やりたいことは、セルがペーストされたときに 「A1のセルがB1のセルにコピーペーストされたました。」 とメッセージを表示したいと思っています。

  • 複数のセルをコピーし、別シートの任意のセルへペーストをするためのマクロ

    ブック(1)のシート(1)にある複数の離れたセル(A1,B2,C3,D4:F4)をコピーし、別ブックのシート(1)のセル(E1,F2,G3,B4:F4)へリンク貼り付けを実行するためのマクロを教えてください。 なお、ブック(1)とブック(2)は同一階層に置いてあります。 このブック(1)とブック(2)の表のフォーマットが違っており、ブック(1)のセルA1をコピーして ブック(2)のセルE1へ貼り付けし、 また同様にブック(1)のセルB2をコピーして ブック(2)のセルF2へ貼り付けをしていきます。 (A1→E1、B2→F2、C3→G3、D4:F4→B4:F4 へ貼り付ける) この作業をマクロを使って自動実行させたいと思っています。 御手数お掛け致しますが、何卒よろしくお願いいたします。

  • VBAでの結合セルのコピー&ペースト

    こんにちは。 EXCELのVBAでマクロを作成しています。 セルの値のコピー&ペーストを行おうとしているのですが、結合されているセルのペーストのときに、「同じ結合セルが必要です」とエラーになってしまいます。 例えば、A1とA2が結合されたセル+A3をコピー Worksheets(x).Activate Range("A1:A3").Selection Range("A1:A3").Copy 別のシートで、B1とB2が結合されたセル+B3にペースト Worksheets(y).Activate Range("B1:B3").Paste セルの結合を解除すればうまくいきます・・・ セルを結合したままペーストしたいのですが、どうやら間違っているようです(ノ_・。) どなたか教えてください。 よろしくお願いします。

  • VBA 他シートを参照しているセルのコピー

    お世話になります。 以下のシートがあります。 [sheet a]    A     B        C      D     E 1 2004 2005 2006 2007 2008 2 =b!A2 =b!C2 =b!E2 =b!G2 =b!I2 3 10 15 16 4 11 4 12 30 20 9 2 5 =SUM(A3:A4) =SUM(B3:B4) =SUM(C3:C4) =SUM(D3:D4) =SUM(E3:E4) [sheet b] A B C D E  F G H I J 2004 2005 2006 2007 2008 1 あ1 い1 う1 え1 お1 か1 き1 く1 け1 こ1 2 あ2 い2 う2 え2 お2 か2 き2 く2 け2 こ2 ・・・・・・・・・ [sheet a]F列以降に入れるデータは、VBA(マクロ)を使って、別のブックから取り出しています。 (例) F1…=E1+1(E1の数式をコピー) F3,F4…任意の値(別のブックからコピー) F5…=SUM(F3:F4)(E5の数式をコピー) 1行目,5行目の場合は左のセルをコピーして数式を貼り付けると、列が自動的に列が変わりますが、2行目の場合は元のシートを1行おきに参照しているので、単純にコピーしただけでは正しい数式が入りません。 2行目の参照をVBAで作るには、どのようにしたらいいでしょうか。 よろしくお願いします。

  • セルの統合

    Excel2003で セルA3、A4を統合 セルB3、B4を統合 セルC3、C4を統合 というふうにやって セルJ3、J4まで統合したいのですが 自動で統合させる方法はないでしょうか?? 教えてください。よろしくお願いいたします。

  • エクセルの数式コピー&ペースト【列の値だけ変化】

    エクセルの数式を縦方向に 相対参照でコピーしたいのですが、 同一の列でのコピーでは列の値に変化は ありませんよね。これを、、 例えば・・ A1セルに=sheet1!G$32とあるのをコピーして、 A2セルに=sheet1!H$32、 A3セルに=sheet1!I$32、 ・ ・ A6セルに=sheet1!L$32といった具合に 行ではなく列の値だけをどんどん変化させたいです。 コピー&ペーストでこれを解消できる方法、 もしくはそれ以外に簡単に解決する対処方法は ありますでしょうか?

  • サイズの異なるデータ列のコピーペーストの仕方

    複数のセルを統合した連続データを、異なる個数の複数セルを統合した空白列にコピーペーストする方法を教えてください。例えば2つのセルを統合したデータ列10個を3つのセルを統合したデータ列10個(空白セル)へペーストするのはどうすればよいですか?

  • Excelで日付セルをコピー&ペーストすると…

    Excel2000を使っています。 ある日付形式のセルを、他のBookにコピー&ペーストすると、年の値が変わってしまいます。 具体的には、2003/5/16だったものが、コピペ後のセルでは2007/5/16になります。 「形式を選択して貼り付け」でも、通常の「貼り付け」でも同様です。 いまは列Aに年、列Bに月/日というデータを作っており、 A   B 2003 5/16 という表示形式にしているので不都合はないのですが、 この列Aのセル値を列Bのセルの「年」として指定する方法はありますか? (列Aは標準形式になっています) 分かりにくい文章で申し訳ありませんが、ご存知の方教えてください。

  • 異なる結合セルのコピー

    A.B.C列の結合セルに文字が入力されています。 その文字を違う表のD.Eの結合セルにコピーをしたいのですが、 「コピー領域と貼り付け領域が違う為コピーできません。」 というメッセージがでます。 A B C  ああ D E  ああ F列を作らないで出来る方法があれば、教えて下さい!! 宜しくお願い致します。

  • Excelのコピー&ペーストについて

    関数や計算式等をコピペしたいのではなく、関数や計算式等でセルに表示された文字自体をコピペしたいのですが方法はありますか? <例> Sheet1のA1に「=B1」と入力して、B1が2だったためセルには「2」と表示されます。 そのセルをコピーしてSheet2のA1にペーストすると「=B1」となります。 そうじゃなくて、セルに表示された「2」自体をコピペしたいんです。 皆様の知識をお貸しください。

専門家に質問してみよう