|    | 
     エクセルのシートに存在するテキストボックスの値をVBAで取得しようとしています。 
まず、テキストボックスに値を入れる操作をマクロで記録して以下のコードを得ました。 
 
Sub Macro17() 
  Sheets("グラフ").Select 
  ActiveSheet.Shapes("buf").Select 
  Selection.Characters.Text = "+10000000" 
  With Selection.Characters(Start:=1, Length:=18).Font 
    .Name = "MS Pゴシック" 
    .FontStyle = "標準" 
    .Size = 11 
    .Strikethrough = False 
    .Superscript = False 
    .Subscript = False 
    .OutlineFont = False 
    .Shadow = False 
    .Underline = xlUnderlineStyleNone 
    .ColorIndex = xlAutomatic 
  End With 
 
このコードから、シート「グラフ」のシェイプス「buf」のCharacters.Textを拾えばいいのだと考え、aという変数に、シェイプス「buf」の値を代入するという以下のコードを作ってみました。 
 
Sub test() 
Dim a 
a = Sheets("グラフ").Shapes("buf").Characters.Text = "+10000000" 
End Sub 
 
ところが、「インデックスが有効範囲にありません」というエラーが出ました。 
なにがいけないのか教えていただけないでしょうか。 
 
 | 
     
    
   |