
Excel2003環境です。
VBの使い方自体まだよく判ってない初心者ですが、質問させてください。
一つのフォルダ内に、複数(だいたい300くらい)のエクセルファイルがあります。
これらは、同一の原型ファイルを基にリネームした資料なのですが、これら全てに入っている特定のシートを一括削除したいのですが、その方法を知りたいと思います。
具体的には、
Sheet1/見積り資料
Sheet2/記入例
Sheet3/部品単価
Sheet4/(Sheet3の内容をVLOOKUPで引っ張っているデータ一覧)
という構成&シート名です(Sheet4は名称を特に定めてません)。
すべてのファイルに上記シートが設定されてますが、このうち「Sheet3/部品単価」を全て削除したいのです。
勿論、これによりSheet4が崩れても構いません(というか存在は無視します)。
そのような方法はありませんでしょうか?
また、VBのコードと一緒に、それを使用するためにどのような準備をするべきか、そちらもお教えいただければと思います。
(コードの書き込みと保存はわかりますが、上記の場合どこに書き込んでどう保存すべきかよくわかっていません)
以上、どうぞよろしくお願い致します。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
’マクロブックがあるフォルダ内のEXCELブックの "Sheet1"と"Sheet2"以外のシートを削除する。
Option Explicit
Const xFileSelector = "*.xls*"
Const xHeader = "BookName,SheetName(Deleted)"
Sub DelSheets()
Dim xPath As String
Dim xName As String
Dim xSheet As Worksheet
Dim zSheet As Worksheet
Dim xFileName As String
Dim xNoData As Boolean
Dim mm As Long
Dim nn As Long
Dim index As Integer
Application.ScreenUpdating = False
Application.DisplayAlerts = False
xNoData = True
xName = ActiveWorkbook.Name
Set zSheet = ActiveSheet
zSheet.UsedRange.ClearContents
zSheet.Cells(1, "A").Resize(1, 2).Value = Split(xHeader, ",")
nn = 1
ChDir (ThisWorkbook.Path)
xPath = ThisWorkbook.Path & "\"
xFileName = Dir(xPath & xFileSelector)
Do Until (xFileName = Empty)
If (xFileName <> ThisWorkbook.Name) Then
With Workbooks.Open(xPath & xFileName, UpdateLinks:=False)
mm = mm + 1
For Each xSheet In .Worksheets
If (xSheet.Name = "Sheet1") Or (xSheet.Name = "Sheet2") Then
Else
nn = nn + 1
With zSheet
zSheet.Cells(nn, "A").Value = ActiveWorkbook.Name
zSheet.Cells(nn, "B").Value = xSheet.Name
End With
xSheet.Delete
End If
Next
Workbooks(xFileName).Activate
If Not (ActiveWorkbook.Saved) Then
ActiveWorkbook.Save
End If
ActiveWorkbook.Close
End With
xNoData = False
End If
xFileName = Dir()
Loop
If xNoData = True Then
MsgBox ("No File Found!!")
Else
MsgBox ("Open Books(File) : " & mm & vbNewLine & "Deleted Sheets : " & nn - 1)
End If
Epilogue:
With zSheet
zSheet.Columns("A:B").AutoFit
End With
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) python OpenPyXLを使って出力結果をエクセルに書き込み 2 2022/06/04 19:46
- その他(プログラミング・Web制作) pythonでクラスで複数のメソッドを利用する方法 2 2022/04/15 04:17
- Visual Basic(VBA) VBA Userform転記のみ編集可 1 2023/06/29 11:03
- Excel(エクセル) Excel、同じフォルダ内のExcelファイルの特定シートのみを1つのファイルに集約したい 8 2022/09/07 15:12
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/03/07 14:05
- Excel(エクセル) ワードのマクロについて教えてください。 1 2023/03/11 13:50
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/03/28 14:52
- Excel(エクセル) EXCEL マクロで 同じフォルダ内の複数ファイルの複数行全体を選択して1つのファイルに集約 4 2022/09/27 18:41
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/03/02 08:40
このQ&Aを見た人はこんなQ&Aも見ています
-
一回も披露したことのない豆知識
あなたの「一回も披露したことのない豆知識」を教えてください。
-
「これはヤバかったな」という遅刻エピソード
寝坊だったり、不測の事態だったり、いずれにしても遅刻の思い出はいつ思い出しても冷や汗をかいてしまいますよね。
-
これ何て呼びますか
あなたのお住いの地域で、これ、何て呼びますか?
-
一番好きなみそ汁の具材は?
みんなで大好きなみそ汁の具材について語り合おうよっ!
-
準・究極の選択
「年収1000万円で一生カレーライス」か「年収180万円で毎日何でも食べ放題」
-
Excelで、複数ブックの複数シートを削除するマクロを教えて下さい
Excel(エクセル)
-
VBAで別ブックのシートを指定して削除したい。
Visual Basic(VBA)
-
フォルダ内の全ブックのシート名を変更したいです。
Excel(エクセル)
-
-
4
EXCEL VBA 特定シート以外のシート削除
Excel(エクセル)
-
5
複数のbookから特定のセル(行)を削除する
Excel(エクセル)
-
6
Excel、同じフォルダ内のExcelファイルの特定シートのみを1つのファイルに集約したい
Excel(エクセル)
-
7
複数ファイルから特定シートのコピー
Excel(エクセル)
-
8
複数のExcelファイルにある同名シートを1つのシートに一括でまとめるには?
Excel(エクセル)
-
9
【ExcelVBA】指定のシート以外を削除する方法
Visual Basic(VBA)
-
10
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
11
Excel2003 の『コメント』の編集位置が、あらぬ位置に勝手に移動してしまう件で教えて下さい。
Excel(エクセル)
-
12
エクセル 複数のブックを一度で編集する方法
Excel(エクセル)
-
13
複数のExcelファイルの印刷設定を一括に変えることはできますか?
その他(Microsoft Office)
-
14
フォルダ内の全ブックのシート名を変更したい
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・昔のあなたへのアドバイス
- ・字面がカッコいい英単語
- ・許せない心理テスト
- ・歩いた自慢大会
- ・「I love you」 をかっこよく翻訳してみてください
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・はじめての旅行はどこに行きましたか?
- ・準・究極の選択
- ・この人頭いいなと思ったエピソード
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・【お題】甲子園での思い出の残し方
- ・【お題】動物のキャッチフレーズ
- ・人生で一番思い出に残ってる靴
- ・これ何て呼びますか Part2
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・あなたが好きな本屋さんを教えてください
- ・かっこよく答えてください!!
- ・一回も披露したことのない豆知識
- ・ショボ短歌会
- ・いちばん失敗した人決定戦
- ・性格悪い人が優勝
- ・最速怪談選手権
- ・限定しりとり
- ・性格いい人が優勝
- ・これ何て呼びますか
- ・チョコミントアイス
- ・単二電池
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・泣きながら食べたご飯の思い出
- ・一番好きなみそ汁の具材は?
- ・人生で一番お金がなかったとき
- ・カラオケの鉄板ソング
- ・自分用のお土産
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAでブックを非表示で開いて処...
-
エクセルを共有するとPCによっ...
-
エクセルの関数 ENTERを押...
-
Excelの警告について
-
Excelファイルをダブルクリック...
-
【マクロ】【VBA】同じフォルダ...
-
エクセルで参照しているデータ...
-
Excel(2010)のフィルターが保...
-
Excelでブックの共有を掛けると...
-
エクセルファイルを開かずにpdf...
-
同じフォルダへのハイパーリン...
-
エクセルにおける,「ブック」...
-
VBAでブック保護非保護を判定す...
-
WorkBooksをオープンさせずにシ...
-
エクセルファイルをオープンし...
-
ワードやエクセルで「時間が来...
-
フォルダ内の複数ファイルから...
-
Excelで複数ブックの同一セルに...
-
エクセルで別ブックをバックグ...
-
フォルダ内の複数ブック・シー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルを共有するとPCによっ...
-
VBAでブックを非表示で開いて処...
-
エクセルの関数 ENTERを押...
-
Excelの警告について
-
Excelファイルをダブルクリック...
-
WorkBooksをオープンさせずにシ...
-
Excel(2010)のフィルターが保...
-
エクセルファイルを開かずにpdf...
-
Excelでブックの共有を掛けると...
-
Excelで複数ブックの同一セルに...
-
VBA バックグラウンドで別ブッ...
-
ブックのピボットを別ブックに...
-
フォルダ内の複数ファイルから...
-
エクセルで参照しているデータ...
-
エクセルファイルをオープンし...
-
同じフォルダへのハイパーリン...
-
エクセルにおける,「ブック」...
-
ブックの保護ができないんです...
-
複数ファイルから特定シートの...
-
Excelで指定範囲のデータ...
おすすめ情報