Excel (VBA)

Excel VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 10全般 : Excel 2019)
図形にセルの内容を表示するした数式は、どこのプロパティに?
投稿日時: 22/02/21 19:21:04
投稿者: WinArrow
投稿者のウェブサイトに移動

図形にセルの内容を表示するために、
数式バーで「=A1」のように入力することがあります。
この内容は、どこのプロパティにセットされているのでしょうか?
 
マクロの記録では、
    ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, 213.75, 39, 67.5, _
        39).Select
    Selection.Formula = "=A1"
となります。

回答
投稿日時: 22/02/21 20:36:43
投稿者: んなっと

Shape.DrawingObject.Formula で取得・設定できます。
 
Sub Macro1() '図形1の式を図形2に
  Dim s As String
  s = ActiveSheet.Shapes(1).DrawingObject.Formula
  If Len(s) Then
    Debug.Print s
    ActiveSheet.Shapes(2).DrawingObject.Formula = Trim(s)
  End If
End Sub
 
Sub Macro2() '図形が参照しているセルを黄色く
  Dim Shp As Object
  Dim s As String
  For Each Shp In ActiveSheet.DrawingObjects
    On Error Resume Next
    s = Shp.Formula
    On Error GoTo 0
    If Len(s) Then
      Debug.Print s
      Range(s).Interior.Color = vbYellow
    End If
  Next
End Sub

投稿日時: 22/02/21 20:48:38
投稿者: WinArrow
投稿者のウェブサイトに移動

んなっと さん
 
レスありがとうございました。
Shapeにこだわって、面倒くさいコードを考えていました。
一応、できたんですが、
こちらの方が、シンプル、スマートです。
 
こちらを採用させていただきます。
 
ありがとうございました。