• ベストアンサー

エクセルでシート上に存在するテキストボックスを一気に全て削除する事は可能?

エクセルシートの容量を確認したところ、入力内容は少ないのに約5MBとなっていました。 内容を調べてみたところ、空白のテキストボックスが同じ位置に大量に重なり合っており、ひとつずつ消していくのは困難を要する状況になっています。 作成したシートにはテキストボックスを使っていないので、シート上に存在するテキストボックスを一撃で削除したいのですが、効果的は方法ってあるのでしょうか? 教えて欲しいです。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.5

どれかひとつのテキストボックスを選択してから [Ctrl]と[Shift]を 押しながら[Space]キーを押すと、シート上のすべてのオブジェクトが 選択されます。 そこで[Delete]という方法もあります。 テキストボックス以外のオブジェクト(画像やオートシェイオプ)も 選択されてしまいますが.....。

loose1995
質問者

お礼

すごく簡単に操作できました。 ありがとうございました。

その他の回答 (5)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.6

根本的な疑問ですが? ・ワークシート上の TextBox とは何でしょうか?  オートシェイプの四角形(Regtangle)? それとも、コントロールの本物のTextBox ? 私は、いつも、それが気になります。 現在、書かれている「もしも」だったら、どちらにしても、かなり大変な作業にはなるような気がします。また、コントロールツールのTextBox は、ジャンプでは掛かりません。 その「もしも」に付け加えると、見えないオブジェクト(オートシェイプ)があります。 いつのまにか、消えてしまった幽霊シェイプも、「ジャンプ」では、掛かりません。あまり何度かいじっている内に、オートシェイプが画面から消えてしまうことがあります。 ご質問者さんの予想とは外れるかもしれませんが、上記のような場合でも、このマクロは有効です。全シートのオートシェイプと、コントロールのTextBox を削除します。 Sub TextBoxes_Clear()  Dim shp As Shape  Dim i As Integer  For i = 1 To Worksheets.Count   With Worksheets(i)    For Each shp In .Shapes     With shp      If .Type = msoAutoShape Then       If .AutoShapeType = msoShapeRectangle Then        .Delete       End If      ElseIf .Type = msoOLEControlObject Then       If .OLEFormat.ProgId = "Forms.TextBox.1" Then        .Delete       End If      End If     End With    Next shp   End With  Next i End Sub

loose1995
質問者

お礼

丁寧な回答をありがとうございました。 単純にオートシェイプで作成したテキストボックスでした。

  • wakudo
  • ベストアンサー率32% (18/56)
回答No.4

#3のものですが、 #1の方法でも選択は可能だと思いますが、 ワークシートは255列×65536行のセルの集まりです。 どこからどこまでと手動で範囲選択すると逆にそれ以外の範囲に図形があっても選択漏れが生じる可能性があります。 「も れ な く」選択するのであれば『ジャンプ』機能をお勧めします。

  • wakudo
  • ベストアンサー率32% (18/56)
回答No.3

こんにちは。 なにも考えずに 1.キーボードから[F5]を押します。 2.『ジャンプ』ウィンドウが開きます。   (ジャンプ機能を利用し図形(オブジェクトといいます)が全て選択されます。  3.左下の[セル選択]ボタンをクリック。 4.『選択オプション』ウィンドウが開きます。『オブジェクト』を選び[OK]をクリック。 *ワークシートにあるすべてのオブジェクト(図形)を選択できます。 この状態で『Delete』キーにて図形(テキストボックス)を削除できます。 (補足)一部分の図形選択を解除したければ!?   オブジェクトを全て選択されている状態にて   [SHIFT]+図形を[クリック]   にて図形のの選択解除・選択に切り替えられます

loose1995
質問者

お礼

少し前に頂いた回答で解決はしましたが、 こんな方法もあるんですね。 ひとつの目的でも色々な方法があるというのがわかりました。 ありがとうございました。

回答No.2

左下にある矢印をクリックしてから テキストボックスがあると思われる範囲よりちょっと大きめに選択したらすべてのテキストボックスがいっぺんに削除できると思うのですが またあると思われる範囲がわからなければ左上からずーっと右下まで選択すればいいと思います。 これでどうですか?

loose1995
質問者

お礼

ありがとうござした。 上手く出来ました。 おかげで容量が半分近くまで減らす事が出来ました。

  • happy99
  • ベストアンサー率14% (1/7)
回答No.1

カーソルを「矢印型」のアイコンにして、テキストボックスのあるあたりをドラッグして範囲選択すれば全ての オブジェクトが選択できるのではないかと思いますが どうでしょう。

loose1995
質問者

お礼

上手く出来ました。 こんな機能があったんですね。 初めて知りました。

関連するQ&A

  • 【エクセル】シート上に存在するテキストボックスを一気に全て削除する事は可能?

    作成したエクセルシートの容量を確認したところ、情報的に大量ではないのに、約5MBとなっていました。 内容を調べてみたところ、空白のテキストボックスが同じ位置に大量に重なり合っており、ひとつずつ消していくのは困難を要する状況になっています。 作成したシートにはテキストボックスを使っていないので、シート上に存在するテキストボックスを一撃で削除したいのですが、効果的は方法ってあるのでしょうか? 教えて欲しいです。

  • エクセル セルの中身をテキストボックスへ移動(シート内全て)

    いつもお世話になります。 エクセルのシート内の様々なところに(ランダム) 文字があります。 これをテキストボックスに1つずつ「変更」できますでしょうか?セル内の内容は消えて構いません。 1セル内の内容を1つのテキストボックスに移動し 場所は同じ位置に。 難しいお願いですが宜しくお願いいたします。

  • テキストボックスを消したい

    こんにちは。困っているので分かれば教えてください エクセルのファイルが異常に容量が大きいので、調べてみたら、シートの中に、使用していないテキストボックスがたくさん隠れていることが分かりました。 これを一度に削除することはできますでしょうか?枠線も見えないテキストボックスなので、探して消して・・では時間がかかって仕方ありません。 いい方法があったら教えてください。よろしくお願いします。

  • テキストボックスの大きさを、基準の大きさに戻す(エクセルVBA)

    図形のテキストボックスの大きさを取得して、その値を各テキストボックスの基準の大きさとして記録しておき、テキストボックスの大きさをマウスでドラッグして大きさを変えた後、ボタン1つでもとの大きさに戻したいのですが、どのようにすればよいでしょうか? 1)図形のテキストボックス、大きさの取得方法は? 2)基準の大きさと記録する方法は? 3)記録された大きさに戻すには?(シート上に配置されたボタンで実行) ※ 複数のシートに複数のテキストボックスがあります。 ※ シート毎にセットします。(シート毎にテキストボックスのサイズが違う為) ※ 現在、各テキストボックスには、基準位置がセットしてあり、ボタンで基準位置へ戻る仕組みが組まれています。(これをそのままにして・・・) ※ エクセル97と2000で使えるようにします。(作成は97) 宜しくお願い致します。

  • エクセル マクロを使ってセルの中身をテキストボックスに移動

    いつもお世話になります。 エクセルのシート内の様々なところに(ランダム) 文字があります。 これをテキストボックスに1つずつ「変更」できますでしょうか?セル内の内容は消えて構いません。 1セル内の内容を1つのテキストボックスに移動し 場所は同じ位置に。 これをマクロを組んで行いたいと思います。 難しいお願いですが宜しくお願いいたします。

  • EXCELでテキストボックスを選べない

    EXCELでのシートで セルにはデータが入っています セルはそれぞれクリックできます シートの真ん中に テキストボックス(四角い図形の中に テキストが入力されているので) があり それをクリックしようとすると ○の中に /が入っている 警告のようなものが出てきて テキストボックスを選べません  シートは保護されていないようです どんな設定がされていますか

  • テキストボックスを削除したい

    エクセルでテキストボックスを挿入しましたが、間違ったので削除したいのですが方法が分かりません。右クリックでテキストボックスの書式設定で線と色のところで線の色を白にすると、テキストボックスは消えますが、その中の罫線まで消えてしまいます。どうすれば初めのテキストボックスを挿入する前に戻るのでしょうか。

  • エクセルのワークシート上のテキストボックスのずれ

    エクセルのワークシート上に(ユーザーフォームではなく) コントロールツールボックスからテキストボックスをいくつか作成しました。 そのテキストボックスをそれぞれ選択(アクティブ?マウスオーバー?)すると テキストボックスの大きさが微妙に変化してしまうのですが、回避する方法はないでしょうか? 微妙というのは、テキストボックスの下・右にそれぞれ枠線1本分ほどです。 エクセルのバージョンは2003です。 どうぞよろしくお願いいたします。

  • Excel : テキストボックス中のテキストの検索・置換

    Excelの図として貼り付けたテキストボックスにテキストが入力されていて、そのテキストボックスが数十個、シートに貼り付けられています。またそれが30シートくらいあります。 このたくさんのテキストボックスに入力されたテキストを複数のシートに渡って一括置換する方法はありませんでしょうか。

  • エクセルマクロ_テキストボックスをシートに反映

    エクセルマクロ初心者です。(2003使用_ユーザーフォーム) ユーザーフォームにリストボックスとテキストボックスを配置しています。リストボックス(Sheet1データを反映)の管理番号データを取得し、Sheet2のA1最終行に記載するところまではできました。 その後、もしテキストボックス1に日付型データ(回答日)があれば、先ほどの管理番号取得行の列のとなり(B列)に記載、空白であれば記載しない。 もしテキストボックス2に日付型データ(出荷予定日)があれば、先ほどの管理番号取得行の列のとなり(C列)に記載、空白であれば記載しない。 もしテキストボックス3にデータ(数量)があれば、先ほどの管理番号取得行の列のとなり(C列)に記載、空白であれば記載しない。 としたいのですが、offsetを使おうとしたのですが、うまくできませんでした。 すみませんが、どなたかご親切な方ご教授よろしくお願いいたします。 (エクセルSheet1=データベース) C5  D5 管理番号   品名       アカ12    りんご       アオ56    みかん       クロ34    なし       クロ89    すいか       アオ12    もも (エクセルSheet2=記入シート) 管理番号 回答日      出荷予定日 数量 アカ12 9月20日       9月23日 100 アオ56            9月21日 800 ↑回答日の記載はない場合もあります。 リストボックス1で選んだ管理番号取得行に一行に内容を表示させたいと思っています。 Private Sub UserForm_Initialize() With ListBox1 .ColumnWidths = "0;0;50;50" .ColumnCount = 4 .RowSource = "Sheet1!A5:D" & Worksheets("Sheet1").Range("C" & Rows.Count).End(xlUp).Row End With End Sub Private Sub CommandButton1_Click() Dim lRow As Long With Worksheets("Sheet2") lRow = .Range("A" & Rows.Count).End(xlUp).Row .Range("A" & lRow + 1).Value = ListBox1.List(ListBox1.ListIndex, 2) End With (ユーザーフォーム配置)   リストボックス1   テキストボックス1(回答日=9/20)   テキストボックス2(出荷予定日=9/21) テキストボックス3(数量=900)  テキストボックス4(コメント=送り先一部変更あり) すみませんが、どなたかご親切な方ご教授よろしくお願いいたします。

専門家に質問してみよう