• ベストアンサー

EXCEL関数での質問です。

こんにちは。 うまく説明できませんので、以下具体的に表現します。 A1セルに「ABC」という文字が入力されているとします。 文字に色をつけました。 A-赤、B-青、C-黒というように.. (1つのセル内に3色あります) そして、B1セルに関数で「=A1」と入力し、「ABC」と表示されました。 ここからが質問です。 B1の値である「ABC」も3色で表現したいのですけれど、可能ですか? 教えて下さい、よろしくお願いします。 EXCEL2000使用です。

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

  • ベストアンサー
noname#11856
noname#11856
回答No.4

> コピーとなると、都度VBAを走らせなければデータを反映出来ないですよね? A1は頻繁に書き換わり、B1はそれをすぐに反映しなければならない、ということですよね? かつ、#1さんへのお礼欄で > 図の貼り付けは、データ量が多いので重くなりすぎて無理でした。 とあるので、書き換えられるセル、反映するセルが多数あるということですね。 一定の規則性があればVBAで対応できるんじゃないでしょうか。 例えば、A列を書き換え、B列に反映するだけであれば Worksheet_Changeイベントを使い、Targetセルの列番号に+1したセルに反映すればいいので。 Private Sub Worksheet_Change(ByVal Target As Range) Dim lngCnt As Long Dim celRef As Range With Target If .Column = 1 Then Set celRef = Me.Cells(.Row, .Column + 1) celRef.Value = .Value For lngCnt = 1 To .Characters.Count celRef.Characters(lngCnt, 1).Font.Color = .Characters(lngCnt, 1).Font.Color Next End If End With Set celRef = Nothing End Sub こんな感じかなぁ? 規則性がなくても、汎用性がなくてよければ(かつ気力があれば(笑)) Targetセルが○○なら××に反映というのを書き連ねていけばいいだけなので可能ですが。

hebogolfer
質問者

お礼

お礼が遅れてしまってごめんなさい。 再度のご丁寧なご指導ありがとうございました。 アドバイスを参考にして、頑張ってみます。 (なんせVBA初心者なので..) また解らないときは質問させていただきます。 その時はよろしくお願い致します。

その他の回答 (3)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

関数は値(のみ)をセルにセットするもので、書式に当たるものを設定・左右できません。条件つき書式の「式が」で関数式を使いますが、別のものです。エクセルの大原則です。 行、列の削除や挿入なども出来ません。 関数にお門違いの過大な期待をしないこと。 B1がどこにあるか、どうして判別すれば良いのだろう。 (A)=A1と関数を入れている。ことを頼りに (B)A1を調べてCharactersでA1の文字列の各文字色を調べ、B1に反映(同じようにする)。(B)は書式のコピーをVBAでやれば出来そうと思ったが、VBAで言えばCharactersで行う文字ごと色づけは、操作の書式のコピでは不可能でしたので、VBAでも不可能でしょう。一文字一文字色をVBAで取得しないといけないようです。面倒です。

hebogolfer
質問者

お礼

やっぱりだめですか.. 丁寧なご回答感謝致します。

noname#11856
noname#11856
回答No.2

B1セルにA1をコピペした状態ではなく 数式を入れなければいけないんでしょうか? そうだとすると、VBAでも困難なような・・・。

hebogolfer
質問者

お礼

コピーとなると、都度VBAを走らせなければデータを反映出来ないですよね? やっぱり数式が便利かな.. どうもありがとうございました。

  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.1

こんにちは。maruru01です。 一般操作では無理だと思います。 VBAで処理することになります。 別の方法としては、以下のような方法があります。 ・A1を選択してコピーします。 ・B1を選択します。 ・[Shift]を押しながら、メニューの[編集]を押すと、通常とは異なったメニューが現れます。 ・その中の[図のリンク貼り付け]を選択します。 これで、B1の上にA1のセルそのものが図として貼り付けられます。 (あくまで図としてB1の上に貼り付けて置かれているだけなので、ドラッグすると移動してしまいます。) この場合は、A1の内容や書式を変更すると、そのまま反映されます。

hebogolfer
質問者

お礼

ありがとうございます。 初心者にVBAはチンプンカンプンです(哀) 出来れば構文をご教示下さい。 図の貼り付けは、データ量が多いので重くなりすぎて無理でした。 またよろしくお願い致します。

関連するQ&A

専門家に質問してみよう