
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
VBからエクセルのテキストボックスの名称を取得したい
Visual Basic(VBA)
-
5
エクセルVBAでテキストボックスの値の取得と変更について
Visual Basic(VBA)
-
6
複数あるテキストボックス中のテキスト取り出し
その他(Microsoft Office)
-
7
excel 図形に入れたテキストやテキストボックスの文字をセルに書き出す
Excel(エクセル)
-
8
ExcelVBAでテキストボックスの表示形式を小数点第二位まで表示する方法
Visual Basic(VBA)
-
9
テキストボックス中の文字列の色を変更する方法は?
Excel(エクセル)
-
10
VBA 図形のテキスト取得
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel VBA セルの値がおかしいです
-
VBA セル間のリンク修正につい...
-
WindowsのOutlook を VBA から...
-
【ExcelVBA】値を変更しながら...
-
ExcelのVBAコードについて教え...
-
VBAでCOPYを繰り返すと、処理が...
-
マクロの記録を使用したマクロ...
-
vba textboxへの入力について教...
-
複数のExcelファイルをマージす...
-
Vba Array関数について教えてく...
-
【マクロ】シートの変数へ入れ...
-
【マクロ】並び替えの範囲が、...
-
【マクロ】売上一覧YYYYMMDDHHS...
-
【マクロ】開いているブックの...
-
Excelのマクロについて教えてく...
-
Vba WorkBooks.Openについて教...
-
VBAから書き込んだ条件付き初期...
-
Vba 型が一致しません(エラー1...
-
【ExcelVBA】5万行以上のデー...
-
[Excel VBA]特定の条件で文字を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
変数に256文字以上のテキストを...
-
テキストボックスの中身をリセ...
-
テキストボックスにセルの値を...
-
テキストエリア内の文字列にリ...
-
VB6.0 でメニューを作りたいん...
-
スキャン後、追記したいのですが、
-
ホームぺージ制作で間違って重...
-
別のアプリケーションのテキス...
-
エクセルのオートシェイプをマ...
-
HTMLのtextbox類に文字を残す
-
全てのテキストボックスをセル...
-
RPG(AS400)の本、サイトってあ...
-
VB.NETで数十行のプログラムを...
-
jQueryで入力テキスト付きのモ...
-
エクセルの図形挿入のVBAにて
-
HTML版とは・・
-
POIでのテキストボックス作成に...
-
フォームのテキストの入力数字...
-
テキストエリアにあわせた文字...
-
VBAからPDFのテキストフィールド
おすすめ情報
ご指摘いただいた通りオートシェイプです。
おかげさまで無事プログラムは動作しましたが、1つ疑問があります。
>Range("A1").Offset(i, 0).Value = tx.Name
...
textbox 130
textbox 162
textbox 163
上記は出力結果の例ですが、数字部分はテキストの作成順を表すものでしょうか。
そうであれば、例えば新規に追加した図形は textbox 164 となるべきだと思いますが
実際にはそのようにはなりませんでした。