[[20180809223414]] 『原本シートと履歴シートを一括で消したい。』(ベティー) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『原本シートと履歴シートを一括で消したい。』(ベティー)

助けて下さい。

とある仕事で、お客さんに送るエクセルファイル(230ファイル)
を作成したのですが原本シートと履歴シートを消さないと
ダメなことに後から気づきました。

原本ファイルをお客さんの名前でコピーし、原本シートをコピーして
1から10シートほど作る作業を三日かけて作ったのに
また一個づつファイルを開けて消していくのは大変です。

マクロ使ったことないんですが、
一気にガーッと消す方法あったら教え下さい。

よろしくお願いします。

< 使用 Excel:Excel2007、使用 OS:Windows7 >


マクロでの処理を希望されているようですが、
何というブックの何というシートのどのセルをどうしたいのか
ということがわからないと、回答者もエクセル君も対応できません。

とりあえず「マクロの記録」という機能がありますので、手動操作をもとにExcel君にコードを書いてもらい、どのような操作が何という命令で実行されるのかを調べるところから手を付けてみてはいかがでしょうか。
(もこな2) 2018/08/10(金) 04:19


新規ブックを開き、Alt+F11でVBEを開いて、標準モジュールを作成し、下の構文を貼って
該当ファイル群のあるフォルダにxlsm形式で保存してからAlt+F8でマクロを実行してください。
(これ以上の説明はググってください)

※フォルダ内にあるxlsx形式のブックの「原本」と「履歴」シートが消えます。
※上書き保存なので実施前にフォルダごとコピーしてから行なうことを推奨します。
※最初は2,3ファイルだけフォルダに入れて意図したとおりに動いているか試してから全ファイル実施すると良いと思います。
※動作確認はしていないのでバグがあったらごめんなさい。

 Option Explicit
 Sub 原本と履歴シートを削除()
    Dim fso As Object
    Set fso = CreateObject("Scripting.FileSystemObject")
    Dim fil As File
    For Each fil In fso.GetFolder(ThisWorkbook.Path).Files
        If fil.Name Like "*.xlsx" Then
            With Workbooks.Open(fil.Path, False, False)
                Application.DisplayAlerts = False
                .Worksheets("原本").Delete
                .Worksheets("履歴").Delete
                Application.DisplayAlerts = True
                .Close True
            End With
        End If
    Next
End Sub

(名無し) 2018/08/10(金) 10:20


訂正
    Dim fil As File
        ↓
    Dim fil As Object
(名無し) 2018/08/10(金) 10:22

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.