
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)
-
VBからエクセルのテキストボックスの名称を取得したい
Visual Basic(VBA)
-
-
4
エクセルVBAで図形のテキストを取得してセルに入力
Excel(エクセル)
-
5
VBA(エクセル)で自動的にボタンをクリックさせるには
その他(プログラミング・Web制作)
-
6
複数あるテキストボックス中のテキスト取り出し
その他(Microsoft Office)
-
7
excel 図形に入れたテキストやテキストボックスの文字をセルに書き出す
Excel(エクセル)
-
8
エクセルVBAでテキストボックスの値の取得と変更について
Visual Basic(VBA)
-
9
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
10
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
11
VBA:ユーザーフォームのマルチページに色を付けたい。
Word(ワード)
-
12
ExcelVBAでテキストボックスの表示形式を小数点第二位まで表示する方法
Visual Basic(VBA)
-
13
Excel内での検索結果をシートに出力したい
Excel(エクセル)
-
14
エクセルVBAでUserFormを起動した時
Excel(エクセル)
-
15
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
-
16
テキストボックス中の文字列の色を変更する方法は?
Excel(エクセル)
-
17
VBA フォームのテキストボックスにセルの値を表示させたいが改行していたら改行もあわせて表示させたい
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
テキストボックスの中身をリセ...
-
delphi6を使ってます。
-
VBからPDFファイルの埋め込みテ...
-
ACCESSフォームで、入力から一...
-
Excelのマクロについて!早急で...
-
時計の:を点滅させたい
-
アクセスのフォームから検索を...
-
RPG(AS400)の本、サイトってあ...
-
Flashで恋愛ゲームを作りたいの...
-
ダブルクリックと2回クリックの...
-
VBScriptでMsgBoxのYesNoボック...
-
四乗根を英語で言うと・・・
-
ADに参加していないPCからADサ...
-
photoshopで書いた四角の枠の中...
-
画像を一定時間ごとに切り替え...
-
【VB.NET】別Formのボタンが押...
-
VB6.0で、フォームから、別のフ...
-
else if文の順序を変えることに...
-
合致するシンボル情報は見つか...
-
×ボタンを無効化したいのですが...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
テキストボックスの中身をリセ...
-
変数に256文字以上のテキストを...
-
全てのテキストボックスをセル...
-
テキストボックスにセルの値を...
-
別のアプリケーションのテキス...
-
jTextAreaのカーソル操作について
-
POIでのテキストボックス作成に...
-
外部ファイルから取得したデー...
-
VB6.0 でメニューを作りたいん...
-
Flashにサイトを表示させたい
-
右クリックでデータの取り込み...
-
テキストが変更されたとき
-
HP作成中。一度訪れたページを...
-
ただただ無駄な
-
AccessVBA SQL テキスト型は...
-
VBScriptでエクセルを開き、
-
HTMLのtextbox類に文字を残す
-
時計の:を点滅させたい
-
MFCのスタティックテキストのコ...
-
ゲームの結果表示について
おすすめ情報
ご指摘いただいた通りオートシェイプです。
おかげさまで無事プログラムは動作しましたが、1つ疑問があります。
>Range("A1").Offset(i, 0).Value = tx.Name
...
textbox 130
textbox 162
textbox 163
上記は出力結果の例ですが、数字部分はテキストの作成順を表すものでしょうか。
そうであれば、例えば新規に追加した図形は textbox 164 となるべきだと思いますが
実際にはそのようにはなりませんでした。