- ベストアンサー
サイズの異なるデータ列のコピーペーストの仕方
複数のセルを統合した連続データを、異なる個数の複数セルを統合した空白列にコピーペーストする方法を教えてください。例えば2つのセルを統合したデータ列10個を3つのセルを統合したデータ列10個(空白セル)へペーストするのはどうすればよいですか?
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
下記URLのページに似た問題ですね。 どうも結合されたセルのコピー&ペーストは、難しい問題のようです。 「エラー”結合されたセルの一部を変更することはできません”」 http://bbs.pc21.nikkeibp.co.jp/keyword-503?msg=all 私の場合は、ご質問者様と同様の場面に遭遇した時は、一度、結合を解除してコピペ後、再度セルを結合しています。 「統合」という用語について、 メニューバーの「データ」に「統合」というメニューがありますので、・・・
その他の回答 (4)
- imogasi
- ベストアンサー率27% (4737/17069)
エクセルはセル結合は、後になって追加された機能であり、MSがプログラムに実装する時に、既存の仕組みとの調和が難しかったのではないかと思います。 そのためか、不自由を感じる点はあると思います。 本件も普通には、できないと思います。 ーー VBAでやってみました。下記コードは解説書にも余り見かけないと思います。 ーー 使い方は (1)まずコピー元のセル範囲をマウスで指定する。 (2)実行する (3)コピー先のセル範囲を指定する。その中にセル結合された セルがあるわけである。 (注記) 実質(見た目の)セル数を(1)の見た目セル数とあわせることになる。 上行からの対応関係で値を入れて行くので、結合セル数は同じでなくて良い。 片一方が3セル結合、コピー先が2セル結合でもよい。(質問のケース)コピー元の中でも、セル結合数は等しくなくてよい。コピー先でも同じ。 ーー (4)縦1列づつを対象とする。 (5)頻繁に使うなら、(2)の実行は、ボタン等をシートに張り付け、そのクリックイベントに登録するとか考えられる。 (関心があれば、「マクロの登録」をWEB照会のこと) ーー Sub test02() Dim cl As Range Dim x(100) K = 1 For Each cl In Selection If cl.Value <> "" Then x(K) = cl K = K + 1 End If Next '--- K = 1 Set r = Application.InputBox("張り付け先範囲", Type:=8) For Each cl In r If cl.Address = cl.MergeArea.Item(1).Address Then cl = x(K) K = K + 1 End If Next End Sub
- 845tk
- ベストアンサー率38% (22/57)
↓のANo.2はいかがでしょうか。 http://oshiete1.goo.ne.jp/qa3069868.html
- mu2011
- ベストアンサー率38% (1910/4994)
次の方法は如何でしょうか。 (1)コピー先側のセル範囲を選択 (2)数式欄に=コピー元先頭セルを入力→ctrl+enterキー同時押下 (3)コピー先セル範囲が選択→コピー→形式を選択して貼り付けで「値のみ」にチェック→OK
- nobu555
- ベストアンサー率45% (158/345)
貼り付けする際に、「形式を選択して貼り付け」を選択し 「リンク貼り付け」を押す。 これで、コピー先に参照式 例えば =A1 が入力されます。 このままでよければ、ここで終わりですが、 貼り付けのように「値」にしたければ、 コピー先の範囲を選択し、「コピー」し、 そのままで「形式を選択して貼り付け」を選択し 「値」をチェックして「OK」を押すと 「値」にすることが出来ます。
補足
ご返答ありがとうございます。 上手く出来ませんでした。 私の説明がまずいようです。 ごめんなさい。
補足
ご返答ありがとうございます。 上手く出来ませんでした。 私の説明がまずいようです。 ごめんなさい。