|
エクセルのシートに存在するテキストボックスの値を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
ところが、「インデックスが有効範囲にありません」というエラーが出ました。
なにがいけないのか教えていただけないでしょうか。
|
|