2012-04-04 17 views
1

"Sheet1"という名前のシートが1つあるスプレッドシートがあります。私は他のシートをすべて隠して取り除いた。 「Microsoft Excelオブジェクト」の下にあるVBAエディタを開くと、約4000枚のシートがリストされており、右クリックで削除することはできません。複数の空白の "Microsoft Excelオブジェクト"を削除する方法

"Sheet1"に保持されているデータがないと、ファイルのサイズが大きすぎる(〜6 MB)ということが私の考えです。私は "goto> special> objects"メソッドを使用しようとしましたが、このようなオブジェクトは見つかりませんでした。

これらの空のオブジェクトをすべて削除する方法についてのアイデアはありますか?

VBA Explorer

+0

Sidはいつもの通りですが、私は4,000のワークシートを持つワークブックをどのように入手したのか不思議です。 –

+0

私も知りたいですか?私は私の研究でそれが起こっているという他のいくつかの報告を見たことがありますが、実際にどのように起こったかについてはまだ混乱しています。私はシートの使用には責任がなく、この特定の問題を解決しようとしています。 –

+0

Googleデスクトップはインストールされていますか? –

答えて

1

あなたが望むものを達成するための多くの方法があります。最速の方法は、今、あなたは新しいブックを保存し、古いものを削除することができ、シート1を右クリックし、「移動またはコピー」~~>「新刊」~~>「OK」を

をクリックしてください:)

フォロー

残念ながら、これは動作しません - 私たちは、この正確な問題やエクセルで他のシートで、かなり長い数式を持っているだけで、それらの最初の255個の文字をコピーします。また、元のシートのVBAコードはコピーされず、この問題の影響を受けた各スプレッドシートを再構築するための追加の手順が必要です。このような場合には

このコード

Option Explicit 

Sub Sample() 
    Dim ws As Worksheet 

    Application.ScreenUpdating = False 
    Application.DisplayAlerts = False 

    For Each ws In ThisWorkbook.Sheets 
     If ws.Name <> "Sheet1" Then ws.Delete 
    Next 

    Application.ScreenUpdating = True 
    Application.DisplayAlerts = True 
End Sub 

enter image description here

+0

残念ながら、これはうまくいきません - 他のシートにかなりの長さの数式があり、この正確な問題があり、Excelは最初の255文字しかコピーしません。また、元のシートのVBAコードはコピーされず、この問題の影響を受けた各スプレッドシートを再構築するための追加の手順が必要です。 –

+0

元のシートのVBAコードはコピーされていますが、モジュールのVBAコードはコピーされていません。 :)ワークブックを見てもいいですか?はいの場合は、wikisend.comでアップロードしてリンクを共有できます。 –

+0

申し訳ありませんがアップロードできません。シートコードはコピーされますが、モジュールはコピーされていないのは間違いありません。 –

2

を試してみてください私は、解決策を見つけ、少なくともそれは私のために働いていると私は非常に精通していないと思いますVBA。プロパティウィンドウ(ビュー)を追加し、各シートを選択し、表示オプションを-1 - xlsheetvisibleに変更すると、それがExcelに表示され、タブを削除できます。

関連する問題