
No.3ベストアンサー
- 回答日時:
> 上記は出力結果の例ですが、数字部分はテキストの作成順を表すものでしょうか。
> そうであれば、例えば新規に追加した図形は textbox 164 となるべきだと思いますが
Excelが勝手に付ける番号って以上は、特に決まり無いのでは。
手動でtextbox 165とか、textbox 9999999とか作ったとして、次に連番振らなきゃならないって事もないでしょうし。
> If tx.Type = msoTextBox Then
> のほうが良いかと。
良さげですね。
No.2
- 回答日時:
オートシェイプのテキスト ボックスなら
#1 さんの回答の IF は
If tx.Type = msoTextBox Then
のほうが良いかと。
というか、シートに張り付けられるテキスト ボックスは ActiveX コントロール版のテキスト ボックスもあります。
どちらのテキスト ボックスなのでしょうかね。
ActiveX コントロール版テキスト ボックスの貼り付け方法。
[開発]→[挿入]→[テキスト ボックス (ActiveX コントロール)]
オートシェイプ版テキスト ボックスの貼り付け方法。
[挿入]→[図形]→[テキスト ボックス]
No.1
- 回答日時:
例えば、
Sub ttxtbox()
Dim tx As Shape
Dim i As Long
i = 0
' アクティブシートのShape
For Each tx In ActiveSheet.Shapes
If tx.AutoShapeType = msoShapeRectangle Then ' オートシェイプの形が四角形?
Range("A1").Offset(i, 0).Value = tx.Name
Range("A1").Offset(i, 1).Value = tx.TextFrame.Characters.Caption
i = i + 1
End If
Next
End Sub
だとか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
Excelで、図形内の文字をセルに抽出したいです
Excel(エクセル)
-
エクセルテキストボックスの文字列をセルに引っ張ってくるやり方
Visual Basic(VBA)
-
エクセルVBAで図形のテキストを取得してセルに入力
Excel(エクセル)
-
-
4
エクセルVBAでテキストボックスの値の取得と変更について
Visual Basic(VBA)
-
5
VBからエクセルのテキストボックスの名称を取得したい
Visual Basic(VBA)
-
6
複数あるテキストボックス中のテキスト取り出し
その他(Microsoft Office)
-
7
excel 図形に入れたテキストやテキストボックスの文字をセルに書き出す
Excel(エクセル)
-
8
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
9
ExcelVBAでテキストボックスの表示形式を小数点第二位まで表示する方法
Visual Basic(VBA)
-
10
VBA(エクセル)で自動的にボタンをクリックさせるには
その他(プログラミング・Web制作)
-
11
エクセルVBAでUserFormを起動した時
Excel(エクセル)
-
12
VBA 図形のテキスト取得
Excel(エクセル)
-
13
テキストボックス中の文字列の色を変更する方法は?
Excel(エクセル)
-
14
VBA フォームのテキストボックスにセルの値を表示させたいが改行していたら改行もあわせて表示させたい
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA セル間のリンク修正につい...
-
【マクロ】並び替えの範囲が、...
-
VBAでCOPYを繰り返すと、処理が...
-
Vba Array関数について教えてく...
-
【VBA】 結合セルに複数画像と...
-
Excel VBA 選択範囲の罫線色の...
-
複数のExcelファイルをマージす...
-
【マクロ】開いているブックの...
-
改行文字「vbCrLf」とは
-
VBA 最終行の取得がうまくいか...
-
VB.net 文字列から日付型へ変更...
-
【マクロ】シートの変数へ入れ...
-
Excelのマクロについて教えてく...
-
vbs ブック共有を解除
-
【ExcelVBA】値を変更しながら...
-
vba textboxへの入力について教...
-
【マクロ】売上一覧YYYYMMDDHHS...
-
【ExcelVBA】5万行以上のデー...
-
Excelのマクロについて教えてく...
-
エクセルのVBAコードについて教...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
変数に256文字以上のテキストを...
-
全てのテキストボックスをセル...
-
テキストボックスの中身をリセ...
-
別のアプリケーションのテキス...
-
RPG(AS400)の本、サイトってあ...
-
テキストボックスにセルの値を...
-
POIでのテキストボックス作成に...
-
VB6.0 でメニューを作りたいん...
-
VBからPDFファイルの埋め込みテ...
-
VBAからPDFのテキストフィールド
-
漢字入力した値のカタカナ変換...
-
フォームのテキストの入力数字...
-
delphi6を使ってます。
-
時計の:を点滅させたい
-
ホームぺージ制作で間違って重...
-
ただただ無駄な
-
Flashで恋愛ゲームを作りたいの...
-
空白で入力フォームのボタンを...
-
VB.NET2005 DataGridViewでレコ...
-
コモンダイアログのshowopenに...
おすすめ情報
ご指摘いただいた通りオートシェイプです。
おかげさまで無事プログラムは動作しましたが、1つ疑問があります。
>Range("A1").Offset(i, 0).Value = tx.Name
...
textbox 130
textbox 162
textbox 163
上記は出力結果の例ですが、数字部分はテキストの作成順を表すものでしょうか。
そうであれば、例えば新規に追加した図形は textbox 164 となるべきだと思いますが
実際にはそのようにはなりませんでした。