人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

エクセルについて質問です。

エクセルでデータを別セルに反映する際に、エクセルの色データも一緒に反映させる
にはどのようにすれば反映できるでしょうか?

一回コピーしてペーストして値を反映させるのではなく、値を登録した瞬間、別セルにすぐ反映されるのが
理想なのですがそのようなことは可能でしょうか?

お手数をおかけしますがどうぞよろしくお願いいたします。

●質問者: aiomock
●カテゴリ:コンピュータ インターネット
✍キーワード:エクセル コピー セル データ ペースト
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● exstar999
●27ポイント

セルに値を登録した瞬間として、例を挙げます

A1 のセルの値が1なら青、2なら赤にする場合、

まずメニューの「書式」→「条件付き書式」を選択。

コントロールしたいセル範囲、A1セルを選択して、

条件1に「数式が」「=$A$1=1」

これが真のときに青色になるように

→書式ボタンをクリック、パターンタブをクリックして青色を指定。

追加ボタンを押して

条件2に「数式が」「=$A$1=2」

これが真のときに赤色になるように

→書式ボタンをクリック、パターンタブをクリックして赤色を指定。

OKボタンを押す。

条件が複雑になるようならマクロを使う例もありますが、たいていはこれでいけますよ。

数式のほうがいろいろ指定できますよ。

数式を変えていろいろと試してください。

以下はダミーURLです。

http://q.hatena.ne.jp/1227841791

◎質問者からの返答

ご回答ありがとうございます。


2 ● SALINGER
●27ポイント ベストアンサー

>値を登録した瞬間、別セルにすぐ反映される

ということで、ワークシート関数かユーザー定義関数になると思うけど、それだと書式が変更できません。


それで、worksheet_changeイベントで特定のセルの値が変化したら特定のセルの書式を変えてみます。

以下は、参考までにA列を変化させたら隣のB列の色を同じにするサンプルです。

Private Sub Worksheet_Change(ByVal Target As Range)
 Application.ScreenUpdating = False
 Dim str As String
 If Target.Column <> 1 Then Exit Sub
 Cells(Target.Row, 2).Value = Target.Value
 Cells(Target.Row, 2).Font.ColorIndex = Target.Font.ColorIndex
 Cells(Target.Row, 2).Interior.ColorIndex = Target.Interior.ColorIndex
  'コピーしてしまうならば
  'Target.Copy (Cells(Target.Row, 2))
 Application.ScreenUpdating = True
End Sub
◎質問者からの返答

ご回答ありがとうございます。


3 ● fuentebella
●26ポイント

VBAでの処理になると思います。

A1の色をA3に反映させる例です。(値は、別途A3のセルに =A1 など指定ください)

A1の値が変化したときに、A1の色がA3に反映します。

Private Sub Worksheet_Calculate()

Dim src, tgt

src = "A1"

tgt = "A3"

Range(tgt).Interior.ColorIndex = Range(src).Interior.ColorIndex

Range(tgt).Font.ColorIndex = Range(src).Font.ColorIndex

End Sub

ただ、色を付けてから値を入力した場合はなんとかなりますが、値を入力してから色を付けた場合はこれでは正しく動きません。

この場合は、一定秒ごとに書式をコピーするという力業の方法になると思います。

下の7番の解答を参照ください。

http://www.happy2-island.com/bbs/bbs.cgi?mode=past&no=735

◎質問者からの返答

ご回答ありがとうございます。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ