• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルのオートシェイプの内容を特定のセルにコピー)

エクセルのオートシェイプの内容を特定のセルにコピー

このQ&Aのポイント
  • エクセルのオートシェイプの内容を特定のセルにコピーする方法について説明します。
  • 特定の列に番号が記入されたエクセルシートで、吹き出しのテキストをオートシェイプに記入し、その内容を対応するセルにコピーします。
  • コピーした内容を元に、続けて新しいオートシェイプを作成し、再びテキストを記入して対応するセルにコピーします。

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

  • ベストアンサー
  • lark_0925
  • ベストアンサー率63% (37/58)
回答No.1

ユーザー定義関数で考えて見ます。 標準モジュールに Function shape_text(ByVal shpnm As Variant, _           Optional ByVal shtnm As Variant = "", _           Optional ByVal bknm As Variant = "") As Variant   Dim bk As Workbook   Dim sht As Object   Application.Volatile True   Set bk = ActiveWorkbook   If bknm <> "" Then    Set bk = Workbooks(bknm)    End If   Set sht = bk.ActiveSheet   If shtnm <> "" Then    Set sht = bk.Sheets(shtnm)    End If   shape_text = sht.Shapes(shpnm).TextFrame.Characters.Text   Set bk = Nothing   Set sht = Nothing End Function あるシートに「テキスト 1」というシェイプのテキストボックス作成し、 中に文字列を記述します( 例 Lark_0925) 適当なセルに =shape_text("テキスト 1") と指定してみてください。 テキスト 1に設定した「Lark_0925」という文字が表示されます。 留意点 オプションの計算方法は、自動に設定して置いてください。 shape_text関数を設定後に対象の図形の文字列を変更しても 直ちにshape_text関数を設定したセルに変更が反映されるわけではありません。変更は、再度そのブックを開いた時に反映されます。 この関数の大量の使用には不向きです。

関連するQ&A