OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

EXCEL97で、結合セルをコピー、値貼付けはできないのでしょうか

  • すぐに回答を!
  • 質問No.168387
  • 閲覧数527
  • ありがとう数2
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 88% (40/45)

EXCEL97を使用しています。

結合セルと結合していないセルが共に含まれた範囲を指定してコピーし、別のセルに『形式を選択して貼付け』の『貼付 値』を行った場合に「この範囲には同じ操作のセル結合が必要です」とのメッセージが出て、貼付けできません。

※ 上記の選択範囲の例
  A1とB1をセル結合した上、A1:B4を範囲指定(A2:B4は通常セル)

書式設定のボタンの『←a→』という形のものを使っているのですが、95の時はセル結合機能までが付与されてなかったので、問題なかったのですが、97になって困っています。

以下のようなアイデアはありますが、それ以外に良いものはあるでしょうか。
1.セル結合した部分とセル結合していない部分を2回に分けて行う
2.上記ボタンを使用せずに、セルの書式の横位置を『選択範囲内で中央』を選択
通報する
  • 回答数2
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.2
レベル13

ベストアンサー率 68% (791/1163)

マクロを作ってみました。(同一シート内で作ってしまいました。変更は楽でしょう)結合セルを含む範囲とコピー先左上単一セルを選択(コントロールキーを使って)して実行します。
選択状態のチェック等は省いています。マクロの手順はコメントを見てください。
普通にコピーして値に変えています。ショートカットキーを割り当てると楽かもしれません。ご参考に。

↓以下を標準モジュールに貼り付けます。
'========================================================
'結合セルを含む範囲を値複写する
' 結合セルを含む範囲とコピー先左上セルを選択して実行
'  ※複写先の範囲に結合セルがあれば解除する
'========================================================
Public Sub mergeCellsValue_copy()
  Dim rg As Range 'セル(ワーク)
  Dim rgCopy As Range 'コピー元セル範囲
  Dim rgPaste As Range 'コピー先左上セル

  'どちらがコピー元か決める
  For Each rg In Selection.Areas
    If rg.Cells.Count = 1 Then
      Set rgPaste = rg
    Else
      Set rgCopy = rg
    End If
  Next

  'コピー先範囲が結合されていれば解除する
  rgCopy.Offset(rgPaste.Row - 1, rgPaste.Column - 1).Select
  Selection.MergeCells = False

  '通常のコピーを実行
  rgCopy.Copy: rgPaste.Select: ActiveSheet.Paste
  
  'コピー先範囲を選択範囲にする
  rgCopy.Offset(rgPaste.Row - 1, rgPaste.Column - 1).Select

  'コピー先範囲の各セルを値にする
  For Each rg In Selection
    rg = rg.Value
  Next
End Sub
お礼コメント
yohsshi

お礼率 88% (40/45)

わざわざプロシージャーを書いていただきありがとうございました。

Selection.MergeCells = False
の箇所が特に助かりました。
結局、プロシージャーを作り、ワークシートを変更することで既存のものをそのまま作ることといたしました。

ありがとうございました。
投稿日時 - 2001-11-15 09:16:23
-PR-
-PR-

その他の回答 (全1件)

  • 回答No.1
レベル14

ベストアンサー率 34% (664/1947)

>セルに『形式を選択して貼付け』の『貼付 値』を行った場合 これはあくまでも「コピーした中の「値」のみを選択して貼り付けます」という意味なので、当たり前ですがセルの書式まではペーストされません。 ちなみにこの時、コピーしたい場所を範囲指定して通常の「貼り付け」を行えば値も書式もペーストされます。「形式を選択して貼り付け」では「すべて」ですね。 ただペースト先での加工等もあるでしょうから、すべ ...続きを読む
>セルに『形式を選択して貼付け』の『貼付 値』を行った場合

これはあくまでも「コピーした中の「値」のみを選択して貼り付けます」という意味なので、当たり前ですがセルの書式まではペーストされません。
ちなみにこの時、コピーしたい場所を範囲指定して通常の「貼り付け」を行えば値も書式もペーストされます。「形式を選択して貼り付け」では「すべて」ですね。

ただペースト先での加工等もあるでしょうから、すべてのセル内容を貼り付けると不都合があるのなら、箇条書きの中の1番でやるのがいいと思います。これは、2番でやってもセルの書式は反映されないので、1番をやるのと同じになるからです。結局セルを結合させるか、横位置を指定するかの違いだけになるでしょう。

あと、ワークシートごとコピーしてしまい、いらない部分を削除するのも簡単ですよ。これも結局書式の加工はすることになるでしょうけどね。
補足コメント
yohsshi

お礼率 88% (40/45)

言葉足りずだったと思います。

コピー元には数式が入っており、コピー先(別Book)へは、数式の計算結果の値を貼り付ける作業を行っています。これはBookの計算が余りにも重く、Bookを分けるために行っているからです。
すべてで行うと式がコピーされ、うまくありませんでした。

毎日の作業になりますから、VBAマクロの変更かワークシートにレイアウトの変更をしなければなりませんので、どれが一番楽かということを確認したかったのです。

マクロの変更の方が楽そうですので、1を選択するつもりではいます。
投稿日時 - 2001-11-14 10:59:29
お礼コメント
yohsshi

お礼率 88% (40/45)

#2の方の所に記載いたしましたが、ワークシートの変更の方で行いました。

ありがとうございました。
投稿日時 - 2001-11-15 09:18:33

このQ&Aのテーマ
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このやり方知ってる!同じこと困ったことある。経験を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ