• 締切済み

Excelマクロ 特定の文字のタブのシートを削除

こんにちは。 Excel2003を使用しています。 数十枚のシートからなるブックがあります。 シートのタブの名前はAxxxxxxとBxxxxxxの文字列です。 Axxxxxxのシートは不要なので全て削除したいと思います。 そこで、マクロの書き方を教えてください。 Worksheet("A*").Delete では「型が合いません」と怒られます。 よろしくお願いいたします。

みんなの回答

  • pentium100
  • ベストアンサー率45% (689/1517)
回答No.2

やっつけで作ったので不具合があってもご容赦願います。 問答無用で削除します。 ----------- Sub Sample() Dim mySheetName As String Dim i As Long Dim c c = Sheets.Count For i = c To 1 Step -1 mySheetName = Sheets(i).Name If mySheetName Like "A*" Then Application.DisplayAlerts = False Worksheets(mySheetName).Delete Application.DisplayAlerts = True End If Next i End Sub

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.1

一例です。 標準モジュールでお願いします。 Sub sample() Application.DisplayAlerts = False For Each st In Worksheets If Left(st.Name, 1) = "A" Then st.Delete Next Application.DisplayAlerts = True End Sub

sherman
質問者

お礼

早速のご回答ありがとうございました pentium100さんのマクロより多少早く処理できました

関連するQ&A

  • EXCELの複数シートをそれぞれ別ブックへ保存したい

    EXCEL97を使用しています。 1つのブック内に複数のシート(10~20枚)があります。 これを全て1シートずつの別のブックに分けて保存をするマクロを作成したいのですが、できますでしょうか? できれば各シート内の(A4)に入力されている文字列を各ブックの名前として使用したいのですが・・・。 (各シートのセルA4の値に重複はありません) 現在は各シートを新しいブックにコピーして名前を付けて保存、の作業をシート数分繰り返しています。 すみませんがよろしくお願いいたします。

  • エクセルのマクロでのシートの削除について

    エクセルのマクロについて エクセル97でファイルを閉じる前にシートを一つ削除するマクロを流そうとしているのですが、 マクロが流れるとシートを削除するかどうかの確認のダイアログが表示されてしまいます。 この確認のメッセージなしでマクロでシートを削除することは出来ないのでしょうか? ----------------- 実際のプログラム ------------------ Sheets(シート名).Select ActiveWindow.SelectedSheets.Delete わかる方がおられましたら宜しくお願い致します。

  • エクセルマクロ 特定の文字列を含む行を削除

    エクセルマクロ 特定の文字列を含む行を削除 エクセルのマクロについて教えてください。 下の中から列を限定せず、すべての行でAAA、CCCのいずれかがある場合、 その行ごと、すべて削除したいのです。 時に削除したい特定の文字列が数十種類になるため、 マクロ起動時に削除したい特定の文字を記述したファイルを読み込み、それから 削除できるようにしたいのです。場合によってはそのファイルを編集し、 削除したい文字列を変更したいのです。 ご教示いただだけないでしょうか A列 B列 C列 1 AAA BBB CCC 2 BBB CCC FFF 3 DDD BBB FFF 4 AAA CCC DDD 5 GGG RRR UUU 行中にAAA、BBBがある場合、削除したい ↓ A列 B列 C列 5 GGG RRR UUU マクロを実行し、上記の結果にしたい。

  • Excel マクロ シートをコピーするには

    初心者です。 今、Excelファイルが2つあります。 1つは、Book1で、Sheet1にA列だけ文字列の入った表があります。 セル  文字列 A3  AAA A4  BBB A5  CCC A6  DDD  :   : のような感じです。 もう1つ、Book2があり、それにはいろいろな単価表のシートが多数入っています。 そのシート名はBook1,Sheet1の表にある文字列と全く同じものもあります。(表にはないシート名のシートもあります) 今、Book1,Sheet1の表にある文字列と同じ名前のシートを Book2からBook1へコピーしたいのです。 Book1の表にある文字列は、必ずしもBook2にあるシート名と同じとはかぎらないので、 IFを使って、この文字列のシートがあればコピーする というふうにしたらよいかと思ったのですが、あまりに初心者のため、 条件文にどう書いたらよいのかで困ってしまいました。 お力添えを宜しくお願いします。

  • VBAで別ブックのシートを指定して削除したい。

    VBAで別ブックのシートを指定して削除したい。 エクセルでVBAを使用して、別ブックのシートを削除するアプリを作成しています。 これらのマクロを記述するエクセルとは別ブックのシートを削除したいです。 以下の記述だと、削除がされないようなのですがどのように記載したら 別ブックのシートを削除することが可能でしょうか。 エラー等は出ません。また、別ブックの情報も取ってこれているようですが、 削除ができません。。 どなたか教えてください。 'Excelを起動し、ファイルを開く Set xl = CreateObject("Excel.application") xl.Workbooks.Open fileName:=fileFullPath, ReadOnly:=False, IgnoreReadOnlyRecommended:=True '※fileFullPathがオープンするエクセルファイルです。 '"一覧"シートの1列目に「公開時削除」という文字が入っている行の2列目のテーブル名を取得 'シートの削除 Application.DisplayAlerts = False xl.ActiveWorkbook.Worksheets(deleteTableName).Delete   Application.DisplayAlerts = True   '※deleteTableNameは削除したいシートの名前が入ります。

  • シートを削除するマクロ

    現在開いているブックの一番後ろにあるシートだけ残して、残りのシートを全て削除するマクロを教えて頂きたいのですが。

  • EXCELのマクロで

    よろしくお願いします。 さて、過去にとあるEXCELのブックにマクロを登録しました。そのマクロも不要となり、マクロ一覧から全て削除した。 最近になってそのファイルを雛型として使用するケースが増え、名前を付け替えて使用していますが、ファイルを開く度に『マクロを有効にしますか?』と聞いてきます。 (マクロのセキュリティは中にしてあります) 正直 これがかなりウザいのですが、どうすれば聞いてこなくなるでしょうか? (但し、マクロウィルス防止の為、セキュリティは中のまま使用したいと思っています) シートだけを新規のブックに保存すればいけるとは思うのですが、現在のブックの何が問題なのかを知りたいのです。 尚、マクロ実行のダイアログを出しても、登録したマクロは何も残っていません。

  • Excelマクロ シート名一覧からシート削除

    Excelマクロで質問させてください。 任意のシートに記載されたシート名一覧を参照して、そこに記載されているシート名のシートを、ブック内から削除するマクロは作れますでしょうか? よろしくお願いします。

  • エクセル 特定文字列のある列の削除と保存

    こんにちは いつもお世話になっています。 エクセル2010です 1行目に文字列が入力されています。 (1)1行目に特定文字列を含む列を削除するマクロ。 (2)1行目に特定文字列を含む列だけを残して、他はすべて削除するマクロ を教えてください。 2つ質問するのが不適当ならどちらか一方でも構いません。 指定したい文字列は複数ありますので「文字列A、文字列B、・・・」等で追記できる形だと助かります。フォーマットが決まっているので指定文字列を頻繁に変えることはありません。 特定行を削除するマクロはネット上でヒットしたんですが、列は見つかりませんでした。 マクロ記録で、文字列検索、列削除をしましたが、連携のさせ方がわかりません。 よろしくお願いします。 Sub Macro1() ' ' Macro1 Macro ' ' Rows("1:1").Select Selection.Find(What:="あ", After:=ActiveCell, LookIn:=xlFormulas, LookAt _ :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _ False, MatchByte:=False, SearchFormat:=False).Activate Selection.FindNext(After:=ActiveCell).Activate Columns("A:A").Select Selection.Delete Shift:=xlToLeft End Sub

  • Excelでセル内の文字をファイル名にする方法と、下のSheet1タブを2列にする方法は?

    Excel2003です。OSはWinXPです。質問は2つです。 1.セル内の文字をファイル名にする方法は? 例えばA1セルに 1153 と入っていたら、ファイルの名前を付けて保存するとき、普通は Book1.xls となりますが、 これを 1153.xls とするにはどうしたらよいですか? 2.下のSheet1タブを2列にする方法は? EXcelの下の方にシート切り替えがありますが、これを2列にするにはどうしたらよいですか?