こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

エクセルの値を選択してコピーができません。

初心者のhaasan99と申します。よろしくお願いします。
エクセル2000で作成した表(1)をシートのコピーをして、同じフォームの表(2)を作成しました。
表(1)には数式が入っていますが、表(2)には数式は入れずに値だけの内容にしたいのです。
そこで、表(1)の範囲を指定してコピーし、表(2)に「形式を選択して張り付け」から「値」を選択して張り付けているのですが、「この操作には同じタイプの結合セルが必要です」のエラーメッセージが出てしまいます。
確かに、表(1)にはセルを結合しているところがあるのですが、表(2)も表(1)と全く同じフォームのはずなのですが…。
この解決策がありましたら、ぜひ教えて下さい。
また、これ以外の方法でも、セルの内容を数式から値に一括して変更する方法があれば、教えて下さい。

投稿日時 - 2002-06-08 18:20:21

QNo.287826

すぐに回答ほしいです

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

こんにちは。

1.元シートのセルを全選択して、コピー
2.貼り付け先シートのA1を選択して普通に貼り付け
3.そのまま貼り付け先シートを全選択状態で再度コピー
4.貼り付け先シートに形式選択の値貼り付け

で出来ます。

範囲を指定してやる場合は、貼り付け先のシートに結合が無い方がやりやすいです。
やり方は上と一緒で、一旦普通に貼り付けして、その場所でもう一度コピー&形式貼付けします。

投稿日時 - 2002-06-08 21:38:30

お礼

早速のご回答ありがとうございました。
希望どおりの処理ができました。

投稿日時 - 2002-06-09 10:42:25

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(4)

ANo.4

質問の値貼り付けができるようコードを書いてみました。
同じシート内なら簡単なんですが、質問では不明なため、異なるシート間でコピーできるようにしたつもりです。

ツール→マクロ→マクロ で『AreasVCopy』を実行すると、コピー元範囲(矩形)と貼り付け先セルを入力するダイアログボックスが表示されます。マウスでセルを選択すれば入力されます。(InputBoxメソッド)
同一ブック内なら異なるシート間も可能です。
なお、貼り付け先に結合セルがあったり、コピー元範囲に複数の矩形範囲を選択した場合は対応していません。(コードが長くなってしまうので・・・)とりあえず、四角い範囲の値コピー用に書いてみました。


ツール→マクロ→Visual Basic Editor でVBE画面に移り、挿入→標準モジュール で標準モジュールを挿入します。
出てきたコードウインドウに下記マクロをコピーして貼り付けます。(当方、Excel2000です)

ここから

Sub AreasVCopy()
  Dim rgCopy As Range 'コピー範囲
  Dim rgPaste As Range '貼り付け先

  On Error GoTo ErrorHandler 'InputBoxメソッドでキャンセルした時の対応

  Set rgCopy = Application.InputBox( _
          Prompt:="コピーする範囲を選択します。", _
          Title:="コピー元", Type:=8)
  Set rgPaste = Application.InputBox( _
          Prompt:="貼り付ける左上セルを選択します。", _
          Title:="貼り付け先", Type:=8)
  Set rgPaste = rgPaste.Cells(1, 1) 'どんな入力をしても単一セルにする

  On Error GoTo 0

  'コピーして書式を貼り付け
  rgCopy.Copy
  Worksheets(rgPaste.Parent.Name).Activate: rgPaste.Select
  Selection.PasteSpecial Paste:=xlFormats

  '値にして貼り付ける
  Dim rw As Long '行カウンタ
  Dim col As Integer '列カウンタ
  With rgCopy
    For col = 1 To .Columns.Count
      For rw = 1 To .Rows.Count
        rgPaste.Cells(rw, col) = .Cells(rw, col)
      Next
    Next
  End With

  Exit Sub

ErrorHandler:
  'InputBoxメソッドでキャンセルした時の対応
End Sub

投稿日時 - 2002-06-09 01:26:57

お礼

早速のご回答ありがとうございました。

投稿日時 - 2002-06-09 10:41:19

ANo.2

 まず、値という認識は、数字だけのようです。私もExcelで会計入力をしていますが、名前などの項目ごと値で貼り付けをしようとすると、やはり貴方が書かれたエラーメッセージが出ます。
 Excelの場合、セルの結合をしているところに、別の書式のセルを貼り付けようとすると、このメッセージが表示されますので、文字認識部分だけや数式や値だけの部分を貼り付けする場合、貼り付ける側のシートのセルは、セルの結合解除で元の状態にすれば、いくつか結合したセルも貼り付けることができます。

 また、貴方が言われるように、数字だけの部分で値での貼り付けをすると、見事できました。なお、この場合数式が入力されていても、純粋な値だけの貼り付けになります。
 また、数字ではない項目の場合は、貼り付けの条件をすべてにすれば出来ます。

投稿日時 - 2002-06-08 18:54:08

お礼

早速のご回答ありがとうございました。

投稿日時 - 2002-06-09 10:40:43

ANo.1

コピー先にセル結合があるばあい、値だけの貼り付けは出来ないようです。

・コピー先のセルの結合を取りやめる
    ↓
・値の貼り付けを行なう
    ↓
・書式の貼り付けを行なう


とするしかないでしょう。

投稿日時 - 2002-06-08 18:45:08

お礼

早速のご回答ありがとうございました。

投稿日時 - 2002-06-09 10:40:13

あなたにオススメの質問