VBAでテキストボックスを編集する方法
- エクセル2003のVBAを使用して、グラフシート上にあるテキストボックスの文字を変更する方法について教えてください。
- 試したコードではエラーが出てうまくいかないため、正しい書き方を教えてください。
- タイトルには「VBA」と「テキストボックス編集」のキーワードを使い、正確に要約文はエクセル2003のVBAを使用してグラフシート上のテキストボックスの文字を変更する方法について、エラーが出るコードの修正方法を教えてください。
- ベストアンサー
VBAでテキストボックスを編集したいのですが
エクセル2003のVBAで、グラフシート上にあるテキストボックスに\"test\"という文字を入れていこうとしています。既存のテキストボックスの文字を変更したいのです。 あれこれコードを試しているのですがエラーばかりでうまくいきません。 以下、エラーが出るコードです。 どう直せばよろしいでしょうか。 Workbooks(\"matome.xls\").Charts(\"Graph_THC_L\").Shapes(\"Text Box 1\").Characters.Text = \"test\" Workbooks(\"matome.xls\").Charts(\"Graph_THC_L\").TextFrame.Characters.Text = \"test\"
- ddtqp
- お礼率68% (139/203)
- オフィス系ソフト
- 回答数3
- ありがとう数3
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>Workbooks(\"matome.xls\").Charts(\"Graph_THC_L\").TextFrame.Characters.Text = \"test\" Shapes("Text Box 1")の指定が抜けてますよ。 当然ながら、\ は外すこと。 Workbooks("matome.xls").Charts("Graph_THC_L").Shapes("Text Box 1").TextFrame.Characters.Text = "テスト" 以上です。
その他の回答 (2)
関連するQ&A
- テキストボックスの表示
VBAを使って、テキストボックスに表示される内容を設定しているのですが、 下記のように記述とOKですが、 Shapes.Range(Array("Text Box 1")).Select Selection.ShapeRange(1).TextFrame2.TextRange.Characters.Text = "test" Selectを抜かして、 Shapes.Range(Array("Text Box 1")).ShapeRange(1).TextFrame2.TextRange.Characters.Text = "test" のように記述するとエラーになります。 原因がよくわからないのですが、なぜなのでしょうか?
- ベストアンサー
- Excel(エクセル)
- エクセルVBAでテキストボックスに文字
Excel2016です。 ワークシート上に配置した、図形の「テキストボックス」に文字を入れるVBAについての質問です。 下記のTEST01では期待通り文字が入りますが、これはテキストボックスをSelectしなければなりません。 TEST02ならSelectせずにOKかと思ったら実行時エラーとなりました。 どのように修正したらよろしいのでしょうか? Sub TEST01() Sheets(“Sheet1”).Shapes.Range(Array("TextBox 3")).Select Selection.ShapeRange.TextFrame2.TextRange.Characters.Text = "TEST/TEST/2020" Selection.ShapeRange.TextFrame2.TextRange.Font.Name = "Meiryo UI" Selection.ShapeRange.TextFrame2.TextRange.Font.Bold = msoTrue End Sub Sub TEST02() With Sheets(“Sheet1”).Shapes.Range(Array("TextBox 3")) .ShapeRange.TextFrame2.TextRange.Characters.Text = "TEST/TEST/2020" .ShapeRange.TextFrame2.TextRange.Font.Name = "Meiryo UI" .ShapeRange.TextFrame2.TextRange.Font.Bold = msoTrue End With End Sub
- ベストアンサー
- Excel(エクセル)
- Excel VBA テキストボックスの値の取得
テキストボックスの値が必要となり参照しようと思い、検索したところdebug.printにある3つの方法がヒットし、試して見ましたが、エラーになります。 テキストボックスの名前にはどれもtxtの文字を含んでいます。 Sub ShapeValue() Dim Shp As Shape For Each Shp In ActiveSheet.Shapes If InStr(Shp.Name, "txt") <> 0 Then Debug.Print Shp.TextFrame.Characters.Text 'オブジェクトは、このプロパティまたはメソッドをサポートしていません。 Debug.Print Shp.TextFrame2.TextRange.Text '指定された値は境界を超えています。 Debug.Print Shp.ShapeRange.TextFrame.Characters.Text 'オブジェクトは、このプロパティまたはメソッドをサポートしていません End If Next Shp End Sub どうすれば取得できるでしょうか?
- ベストアンサー
- Excel(エクセル)
- VBAでグラフの凡例をまびきたいのですが
エクセル2003のVBAで、グラフの凡例をまびきたいのですがやり方がわかりません。 例えば 系列1:凡例表示 系列2:凡例非表示 系列3:凡例表示 系列4:凡例非表示 といった具合です。 以下のような雰囲気のコードはないでしょうか。 For i=1 to 10 Workbooks("matome.xls").Charts("Graph_PinPex").SeriesCollection(i * 2).HasLegend = False Next i
- ベストアンサー
- オフィス系ソフト
- 【.NET】WordのテキストボックスのCharactersを探しております
こんにちは. 質問させていただきます.どうぞよろしくお願いいたします. VB.NETからWordのテキストボックスをいじっております. 試しにExcelで動かしてみると,Shape.TextFrame.TextRange.Charactersで やりたいことができるのですが,Wordの場合, Shape.TextFrame.TextRange. と Shape.TextFrame. のどちらにも Charactersが見つからないと言われ,悩んでおります. エラーメッセージは「公開メンバ 'Characters' は型 'Range' に見つかりませんでした。」 「公開メンバ 'Characters' は型 'TextFrame' に見つかりませんでした。」 です. VB2008でWord2007をいじろうとしておりますが,もしお詳しい方が いらっしゃいましたら,アドバイスをいただけないでしょうか... また,よく今回のようにメンバやプロパティを探すのに四苦八苦する ことがあるのですが,こんな風に調べるといいよ,みたいなのが もしもございましたら,皆様のお知恵を拝借いたしたくお願いいたします. どうぞよろしくお願いいたします.
- ベストアンサー
- Visual Basic
- エクセルVBAでテキストボックスのフォントの色
エクセル2016です。以下のコードで文字は赤になりますが、これをRGB方式ではなくColorindex=3で指定するにはどう書き直せばよろしいでしょうか? Sub TEST03() With Sheets("Sheet1").Shapes("TextBox 3").TextFrame2 With .TextRange .Text = "TEST/TEST/03" .Font.Name = "Meiryo UI" .Font.Bold = msoTrue .Font.Size = 16 .Font.Fill.ForeColor.RGB = RGB(255, 0, 0) .ParagraphFormat.Alignment = msoAlignCenter End With .VerticalAnchor = msoAnchorMiddle End With End Sub 別途、Sheets("Sheet1").Shapes("TextBox 1").TextFrame.Characters.Font.ColorIndex = 3 と書けば赤になりますが、Sub TEST03()のRGB = RGB(255, 0, 0)の代わりに指定する方法が知りたいのです。 よろしくお願いします。
- ベストアンサー
- Excel(エクセル)
- Excel VBAのテキストボックスの文字の位置
Excel VBA で作成したテキストボックスのなかの文字の表示位置を左中央に寄せて表示したいのですが、方法がありましたら教えていただけませんか、お願いいたします。 下記コードを参考に一応目的は達成できましたが、できることなら文字の表示位置をかえたいのですが、現在は中央に表示されています。 ----------------------------- sub sample343() dim temp as shape set temp = worksheets("sheet1").shapes_ .addtextbox(msotextorientationhorizontal_ ,10,20,80,25) temp.textframe.characters.text = "Excel1 VBA" end sub ----------------------------- 上記コードで左中央に寄せて表示できるでしょうか。もし可能でしたらすみませんがその他の 位置への方法も併せ教えて頂けませんか、 お願いいたします。 環境は,windwos10 Excel 2013です。
- ベストアンサー
- Excel(エクセル)
- テキストボックスにVBA
excelのシートにスキャナで取り込んだ画像を貼り付け、その画像の上にさらに、いくつかのテキストボックスを貼り付けて文字を入力して使っております。 そこで、その中の一つのテキストボックスを、クリックするたびに(MS明朝でサイズ14の)○を表示したり消したり出来る様にしたいのです。 VBAを使うのかと思い、マクロの自動記録で挑戦してみましたが Sub テキスト1_Click() ActiveSheet.Shapes("Text Box 1").Select Selection.Characters.Text = "○" With Selection.Characters(Start:=1, Length:=1).Font .Name = "MS 明朝" .FontStyle = "標準" .Size = 14 .Strikethrough = False .Superscript = False .Subscript = False .OutlineFont = False .Shadow = False .Underline = xlUnderlineStyleNone .ColorIndex = xlAutomatic End With End Sub となって、クリックで○は付けられますが、当然、更にクリックして消すという動きにはなりません。 ネットで拾ってきた、 If .Value = "○" Then .Value = "" Else .Value = "○" End If や、 Select Case Target.Value Case "": Target.Value = "○" Case "○": Target.Value = "" End Select なんてのを書き込んでみたりしたのですが、全く動きません。 もっとも今まで全くVBAをやった事がなかったので、よく意味もルールも分からないままの作業でしたので当然の結果でした。 VBAに興味が出てきましたので、更に勉強はしてみたいと思っておりますが、今現在の私には無理と判断いたしました。 どなたか、よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- テキストボックスのことで
エクセルの図形描画バーの中にあるテキストボックスで文字を作成すると、そのテキストボックスに自動的に番号が割り振られると思います。 マクロ文の中の ActiveSheet.Shapes("Text Box 8").Select のように。 この番号を変更することは可能でしょうか? テキストボックス自体を削除して新しいのにするというのではダメです。 それは不可能という回答でもけっこうです。 御存知の方がいましたら教えて下さい。
- ベストアンサー
- オフィス系ソフト
- VBA テキストボックスのイベントについて
Microsoft ACCESS 2010を使用しています。 「テキスト0」という名前のテキストボックスがあり、 Me![テキスト0].Value = "こんにちは" というコードでテキストボックスの文字を変更します。 この時、テキストボックスの値が変更されたという条件でまた別のコードを動作させたいのですが、テキストボックスのイベントである、「更新前処理」「更新後処理」「ダーティー時」「変更時」では、動作しませんでした。 テキストボックスの値を変更する段階で別のコードを入力すれば対応は可能なのですが、「テキストボックスの値を変更した時」のタイミングで別コードを動作させることで、コードをまとめたいと考えています。 これに対して良い方法はありますか?よろしくお願いします。
- ベストアンサー
- その他(データベース)
お礼
Workbooks("matome.xls").Charts("Graph_THC_L").Shapes("Text Box 1").TextFrame.Characters.Text = "テスト" 上のコードでばっちりいけました。 ありがとうございます。助かりました。