EXCEL97を使用しています。
結合セルと結合していないセルが共に含まれた範囲を指定してコピーし、別のセルに『形式を選択して貼付け』の『貼付 値』を行った場合に「この範囲には同じ操作のセル結合が必要です」とのメッセージが出て、貼付けできません。
※ 上記の選択範囲の例
A1とB1をセル結合した上、A1:B4を範囲指定(A2:B4は通常セル)
書式設定のボタンの『←a→』という形のものを使っているのですが、95の時はセル結合機能までが付与されてなかったので、問題なかったのですが、97になって困っています。
以下のようなアイデアはありますが、それ以外に良いものはあるでしょうか。
1.セル結合した部分とセル結合していない部分を2回に分けて行う
2.上記ボタンを使用せずに、セルの書式の横位置を『選択範囲内で中央』を選択
No.2ベストアンサー
- 回答日時:
マクロを作ってみました。
(同一シート内で作ってしまいました。変更は楽でしょう)結合セルを含む範囲とコピー先左上単一セルを選択(コントロールキーを使って)して実行します。選択状態のチェック等は省いています。マクロの手順はコメントを見てください。
普通にコピーして値に変えています。ショートカットキーを割り当てると楽かもしれません。ご参考に。
↓以下を標準モジュールに貼り付けます。
'========================================================
'結合セルを含む範囲を値複写する
' 結合セルを含む範囲とコピー先左上セルを選択して実行
' ※複写先の範囲に結合セルがあれば解除する
'========================================================
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
わざわざプロシージャーを書いていただきありがとうございました。
Selection.MergeCells = False
の箇所が特に助かりました。
結局、プロシージャーを作り、ワークシートを変更することで既存のものをそのまま作ることといたしました。
ありがとうございました。
No.1
- 回答日時:
>セルに『形式を選択して貼付け』の『貼付 値』を行った場合
これはあくまでも「コピーした中の「値」のみを選択して貼り付けます」という意味なので、当たり前ですがセルの書式まではペーストされません。
ちなみにこの時、コピーしたい場所を範囲指定して通常の「貼り付け」を行えば値も書式もペーストされます。「形式を選択して貼り付け」では「すべて」ですね。
ただペースト先での加工等もあるでしょうから、すべてのセル内容を貼り付けると不都合があるのなら、箇条書きの中の1番でやるのがいいと思います。これは、2番でやってもセルの書式は反映されないので、1番をやるのと同じになるからです。結局セルを結合させるか、横位置を指定するかの違いだけになるでしょう。
あと、ワークシートごとコピーしてしまい、いらない部分を削除するのも簡単ですよ。これも結局書式の加工はすることになるでしょうけどね。
この回答への補足
言葉足りずだったと思います。
コピー元には数式が入っており、コピー先(別Book)へは、数式の計算結果の値を貼り付ける作業を行っています。これはBookの計算が余りにも重く、Bookを分けるために行っているからです。
すべてで行うと式がコピーされ、うまくありませんでした。
毎日の作業になりますから、VBAマクロの変更かワークシートにレイアウトの変更をしなければなりませんので、どれが一番楽かということを確認したかったのです。
マクロの変更の方が楽そうですので、1を選択するつもりではいます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) シート間で同じ値があったら指定範囲をコピーして貼り付け 1 2022/11/07 08:01
- Visual Basic(VBA) Excelのマクロコードについて教えてください。 1 2022/03/27 13:25
- Excel(エクセル) Excel フィルタ後のコピー貼付けと可視セルの関係について 3 2023/02/07 16:42
- Excel(エクセル) VBA 特定の列に入っているテキストをコピペ 2 2023/06/14 11:24
- Excel(エクセル) 余計なお世話的な「入力規則」?対策は? 2 2023/01/14 12:39
- Excel(エクセル) Excelのプルダウンメニューの内容を人によって可変する方法 2 2023/03/28 14:52
- Excel(エクセル) Excel 数式を使用した条件付き書式が、一つのセルにしか反映されない 3 2022/06/08 23:20
- Excel(エクセル) ログインIDの一発入力? 5 2023/07/07 12:30
- その他(Microsoft Office) エクセルに関しての質問 2 2022/06/25 18:40
- Visual Basic(VBA) シート間で同じ値があったらコピペ 1 2022/05/08 09:39
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【エクセル】IF関数 Aまたは...
-
セルをクリック⇒そのセルに入力...
-
Excelで数式内の文字色を一部だ...
-
エクセルで指定したセルのどれ...
-
Excelでのコメント表示位置
-
対象セル内(複数)が埋まった...
-
EXCEL VBA セルに既に入...
-
excelのCOUNTIF関数で、『範囲=...
-
エクセルのセルの枠を超えて文...
-
貼り付けで複数セルに貼り付けたい
-
エクセル 足して割る
-
excelの特定のセルの隣のセル指...
-
【Excel】 セルの色での判断は...
-
(Excel)数字記入セルの数値の後...
-
エクセルで作成したカレンダー...
-
Excelで、「特定のセル」に入力...
-
エクセルで全角ひらがなを半角...
-
エクセル オートフィルタで絞...
-
エクセルでオブジェクトを常に...
-
エクセルの一つのセルに複数の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで指定したセルのどれ...
-
Excelで数式内の文字色を一部だ...
-
【エクセル】IF関数 Aまたは...
-
Excelでのコメント表示位置
-
貼り付けで複数セルに貼り付けたい
-
対象セル内(複数)が埋まった...
-
エクセル 足して割る
-
セルをクリック⇒そのセルに入力...
-
EXCEL VBA セルに既に入...
-
excelのCOUNTIF関数で、『範囲=...
-
【Excel】 セルの色での判断は...
-
エクセルの一つのセルに複数の...
-
エクセル オートフィルタで絞...
-
エクセルのセルの枠を超えて文...
-
Excelで、「特定のセル」に入力...
-
Excel2003 の『コメント』の編...
-
Excelで教えてください。 バー...
-
複数のセルのいずれかに数字が...
-
(Excel)数字記入セルの数値の後...
-
Excelで住所を2つ(町名迄と番...
おすすめ情報