|    | 
     ▼komarinko さん: 
 
>このコードから、シート「グラフ」のシェイプス「buf」のCharacters.Textを 
> 拾えばいいのだと考え、aという変数に、シェイプス「buf」の値を代入する 
> という以下のコードを作ってみました。 
> 
>Sub test() 
>Dim a 
>a = Sheets("グラフ").Shapes("buf").Characters.Text = "+10000000" 
>End Sub 
取得ですから、 
>a = Sheets("グラフ").Shapes("buf").Characters.Text 
と書こうとしたのでしょうね? 
 
>ところが、「インデックスが有効範囲にありません」というエラーが出ました。 
 
INDEXエラーなら、bufという名前のTextBoxがなかったとか? 
 
こちらでは、 
----------------------------- 
実行時エラー '438': 
オブジェクトは、このプロパティまたはメソッドをサポートしていません 
----------------------------- 
というえらーになります。 
 
以下のように してみてください。 
 
Sub test2() 'ShapesクラスのTextFrameプロパティから取得 
 Dim ss As String 
 ss = Sheets("グラフ").Shapes("buf").TextFrame.Characters.Text 
End Sub 
 
もっと簡単なのは、以下です 
 
Sub test3()   'TextBoxesコレクションの Characters.Text として取得 
 Dim ss As String 
 ss = Sheets("グラフ").TextBoxes("buf").Characters.Text 
End Sub 
 | 
     
    
   |