• ベストアンサー

EXCELでワードアートからセル参照

EXCELでワードアートを沢山使っています。ワードアートでなければ、文字幅を自由に扱えないからそうしているのですが、内容を変更する場合、一つ一つワードアートを指定してはテキストの編集を行う必要があり、大変手間が掛かっています。これをワードアートの中からセル参照を使えれば作業が楽になるのにと思っているのですが、そんなことは可能でしょうか? よろしくお願いします。

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

  • ベストアンサー
  • sakenomo
  • ベストアンサー率52% (35/67)
回答No.3

ワードアートを右クリック、"ワードアートの書式設定"で、"Web"タブの"代わりに表示する文字列"をセル参照に利用する方法です。 セルA1を参照する場合、上記の文字列を、A1あるいはa1と記入します。 その後下のマクロtestを実行してください。表示されているワークシート上のワードアート全てに実行されます。 各々のワードアートの"代わりに表示する文字列"が、セル参照と判断されない場合には、そのワードアートは無視します。 Sub test() Dim myShp As Shape For Each myShp In ActiveSheet.Shapes If IsOk(myShp) = True Then myShp.TextEffect.Text = Range(myShp.AlternativeText).Text End If Next End Sub Function IsOk(ob As Object) As Boolean Dim s As String On Error GoTo p: s = Range(ob.AlternativeText).Address s = ob.TextEffect.Text IsOk = True Exit Function p: IsOk = False End Function 参照先のセルが空白の場合、ワードアートの文字列は消えず、何も変化が起こらないようです。

shiba_sow
質問者

お礼

すごい!びっくりしました。 本当に奥が深い、というかさわりしか使っていない身で感激するのもおこがましいのですが、どうもありがとうございます。これもバッチリです。

すると、全ての回答が全文表示されます。

その他の回答 (2)

  • zealzany
  • ベストアンサー率35% (19/53)
回答No.2

#1さんのカメラ機能は推薦かも。 やはりVBAでないと書けないと思うのですが、 B2のセルに文字を入力して、変更したい図形を選択 し、マクロ実行すれば書き換わります。 コンピューターにどのシェープを変更を教えるためにここでは選択を(やっぱ面倒ですね) sub CellShDraw() myText = Range("B2").Value Selection.ShapeRange.TextEffect.Text = myText End sub

すると、全ての回答が全文表示されます。
  • TTak
  • ベストアンサー率52% (206/389)
回答No.1

当方Excel2000を使っていますが、ワードアートからのセル参照はできないようです。Excel2000以前でもできないでしょう。2000以降は判りませんが、おそらくその機能は付いてないと思われます。 > 文字幅を自由に扱えないからそうしているのですが、 オブジェクトの選択を再考されることをお勧めします。例えば、オブジェクトの大きさと文字の大きさが比例して連動するように文字幅が変わるのでも良ければ、カメラ機能が使えます。カメラ機能は、[ツール]>[ユーザー設定]で、ツールの分類の中にボタンが用意されています。(通常、このボタンは出ていません) あるいは、VBAを扱うことができるならば、Worksheet_Changeイベントで、特定のワードアートオブジェクトのTextを変更するようにプログラムできます。下記例はセルA1の値を"WordArt 1"に連動させるマクロです。 Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$A$1" Then ActiveSheet.Shapes("WordArt 1").TextEffect.Text = Target.Value End If End Sub ただし、ワードアート側を変更しても、セルAには反映されません。

shiba_sow
質問者

お礼

ありがとうございます "shift"+[編集]>[図のリンク貼り付け]は見つけてあったのですが、参照元のセルに書式を設定するあたりに思い至らず、うっかりしてました。カメラ機能で対処できそうです。どうもありがとうございました。

すると、全ての回答が全文表示されます。

関連するQ&A