みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

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

解決済みの質問

Excelでコピーをとったセルの色を変えたい

Excelで、数値の入ったセルを別の場所にコピー貼付をしたとき、終わったセルを区別するため、コピーをとったときにそのセルの色を変えたいのですが、方法を教えて下さい。よろしくお願いします。

投稿日時 - 2004-03-06 14:04:44

QNo.798416

困ってます

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

「たった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
とすべきでしょう。

投稿日時 - 2004-03-06 19:59:40

お礼

imogasiさんありがとうございました。
オートシェイプで見えないボタンを作り、コピー元の隣のセルの文字にかぶせておき、そのボタンに「着色」と「セルデータのコピー」をマクロ登録することにしました。

もし、もっと良い方法にお気づきでしたら教えてください。

投稿日時 - 2004-03-07 16:31:04

ANo.4

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

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

回答(5)

ANo.5

#3のものです。
質問文から「コピー元」に着色したい、と判断したのですが、
「コピー先」を着色したいのなら、#3の回答は無視して下さい。
コピー元を着色というのであれば、下記のマクロでできると思いますが。
#3の回答で言葉が足りませんでした。
通常のコピーの変わりに「CPcolr」マクロ、
貼付の変わりに「PTcolr」マクロを使用して下さい。

投稿日時 - 2004-03-06 20:10:20

お礼

moon00さんありがとうございました。
オートシェイプで見えないボタンを作り、コピー元の隣のセルの文字にかぶせておき、そのボタンに「着色」と「セルデータのコピー」をマクロ登録することにしました。

もし、もっと良い方法にお気づきでしたら教えてください。

投稿日時 - 2004-03-07 16:31:59

ANo.3

マクロでもいいとのことなので。
実はもっと短くなるのかもしれませんが。

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」をボタンもしくはショートカットに割り付けて下さい。
貼り付けのオプション指定は現在「全て」になっていますが、
値のみ等、形式を選択して貼り付けに対応できます。
現在の色設定は黄色になっています。

投稿日時 - 2004-03-06 17:55:23

お礼

moon00さん ありがとうございました。

投稿日時 - 2004-03-07 16:29:54

ANo.2

 コピー&貼り付けではなく、切り取り&貼り付けならどうでしょうか。
(1)元シートを保存するため、シート全体のコピーをとる。
 →ctrを押しながらシートタブをドラッグ
(2)数値の入ったセル全体に色を付ける。
 →塗りつぶし
(3)移したいセルを切り取り&貼り付けする。
 →セルを選んでcrt+X →貼り付けたい場所でctr+V
 これで、切り取った跡は色がなくなります。

投稿日時 - 2004-03-06 15:42:40

補足

質問のしかたが下手でした。

色を変えるのが主目的ではありませんので、そのための操作を自分でしなくても色が変わるようにしたいのです。

セルを右クリックして「コピー」を命じたと同時にそのセルの色を変えるマクロを組み込んでおきたいのです。

クリップボードにコピーされるのと併行してセルの書式が変わるようにしたいということなんですが。

投稿日時 - 2004-03-06 17:01:06

お礼

kikeroさんありがとうございました。
オートシェイプで見えないボタンを作り、コピー元の隣のセルの文字にかぶせておき、そのボタンに「着色」と「セルデータのコピー」をマクロ登録することにしました。

投稿日時 - 2004-03-07 16:28:32

ANo.1

 こんにちは。

 ツールバーに「塗りつぶし」(ペンキをこぼすマーク)のアイコンがあると思いますので,色を付けたいセルでそのアイコンを右クリックしてください。

(コピーと同時に色を変えるということでしたら,すいません,私には分かりませんので次の方にお答えを譲ります…)

投稿日時 - 2004-03-06 14:15:07

お礼

o24hiさん ありがとうございました。

投稿日時 - 2004-03-06 17:00:46

あなたにオススメの質問