- ベストアンサー
Excelでコピーをとったセルの色を変えたい
Excelで、数値の入ったセルを別の場所にコピー貼付をしたとき、終わったセルを区別するため、コピーをとったときにそのセルの色を変えたいのですが、方法を教えて下さい。よろしくお願いします。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
「たった1行」のVBAプログラムで、それらしくなりましたが、Changeイベントはクセがあるので、色んな場合にお望み通りなるかどうか。 Private Sub Worksheet_Change(ByVal Target As Range) Target.Interior.ColorIndex = 6 End Sub 6は黄色ですか1-50ぐらいまで好みの色を探して見てください。 さてツール-マクロ-VBEをクリックして出てくる 画面のVBAProjectのSheet1をダブルクリックするとPrivate Sub Worksheet_SelectionChange(ByVal Target As Range) End Sub などが出ますが、左の▼をクリックしてWorksheet、右の▼をクリックしてChangeを選ぶと Private Sub Worksheet_Change(ByVal Target As Range) End Sub がでますので真中に上記1行を挟みます。 範囲指定し、コピーし、貼りつけするとセルが黄色になります。 コピーモードの時だけに色付けしないと、一般の値の変更時に色がつくと不便なので Private Sub Worksheet_Change(ByVal Target As Range) If Application.CutCopyMode = 1 Then Target.Interior.ColorIndex = 6 End If End Sub とすべきでしょう。
その他の回答 (4)
- moon00
- ベストアンサー率44% (315/712)
#3のものです。 質問文から「コピー元」に着色したい、と判断したのですが、 「コピー先」を着色したいのなら、#3の回答は無視して下さい。 コピー元を着色というのであれば、下記のマクロでできると思いますが。 #3の回答で言葉が足りませんでした。 通常のコピーの変わりに「CPcolr」マクロ、 貼付の変わりに「PTcolr」マクロを使用して下さい。
お礼
moon00さんありがとうございました。 オートシェイプで見えないボタンを作り、コピー元の隣のセルの文字にかぶせておき、そのボタンに「着色」と「セルデータのコピー」をマクロ登録することにしました。 もし、もっと良い方法にお気づきでしたら教えてください。
- moon00
- ベストアンサー率44% (315/712)
マクロでもいいとのことなので。 実はもっと短くなるのかもしれませんが。 Dim Lcel As Integer Dim Rcel As Integer Dim Tcel As Integer Dim Bcel As Integer Sub CPcolr() Lcel = Selection.Column '選択された範囲の左端 Tcel = Selection.Row ' 〃 上端 Rcel = Lcel + Selection.Columns.Count - 1 ' 〃 右端 Bcel = Tcel + Selection.Rows.Count - 1 ' 〃 下端 Selection.Copy End Sub Sub PTcolr() Dim L2 As Integer Dim T2 As Integer L2 = Selection.Column '選択された範囲の左端 T2 = Selection.Row ' 〃 上端 Selection.PasteSpecial Paste:=1 Application.CutCopyMode = False Range(Cells(Tcel, Lcel), Cells(Bcel, Rcel)).Select With Selection.Interior .ColorIndex = 6 .Pattern = xlSolid Cells(T2, L2).Select End With End Subこんな感じで、それぞれ「CPcolr」と「PTcolr」をボタンもしくはショートカットに割り付けて下さい。 貼り付けのオプション指定は現在「全て」になっていますが、 値のみ等、形式を選択して貼り付けに対応できます。 現在の色設定は黄色になっています。
お礼
moon00さん ありがとうございました。
- kikero
- ベストアンサー率33% (174/517)
コピー&貼り付けではなく、切り取り&貼り付けならどうでしょうか。 (1)元シートを保存するため、シート全体のコピーをとる。 →ctrを押しながらシートタブをドラッグ (2)数値の入ったセル全体に色を付ける。 →塗りつぶし (3)移したいセルを切り取り&貼り付けする。 →セルを選んでcrt+X →貼り付けたい場所でctr+V これで、切り取った跡は色がなくなります。
お礼
kikeroさんありがとうございました。 オートシェイプで見えないボタンを作り、コピー元の隣のセルの文字にかぶせておき、そのボタンに「着色」と「セルデータのコピー」をマクロ登録することにしました。
補足
質問のしかたが下手でした。 色を変えるのが主目的ではありませんので、そのための操作を自分でしなくても色が変わるようにしたいのです。 セルを右クリックして「コピー」を命じたと同時にそのセルの色を変えるマクロを組み込んでおきたいのです。 クリップボードにコピーされるのと併行してセルの書式が変わるようにしたいということなんですが。
- o24hi
- ベストアンサー率36% (2961/8168)
こんにちは。 ツールバーに「塗りつぶし」(ペンキをこぼすマーク)のアイコンがあると思いますので,色を付けたいセルでそのアイコンを右クリックしてください。 (コピーと同時に色を変えるということでしたら,すいません,私には分かりませんので次の方にお答えを譲ります…)
お礼
o24hiさん ありがとうございました。
お礼
imogasiさんありがとうございました。 オートシェイプで見えないボタンを作り、コピー元の隣のセルの文字にかぶせておき、そのボタンに「着色」と「セルデータのコピー」をマクロ登録することにしました。 もし、もっと良い方法にお気づきでしたら教えてください。