Note: The other languages of the website are Google-translated. Back to English

ワークブックの各ワークシートのサイズを確認するにはどうすればよいですか?

複数のワークシートを含む大きなワークブックがあり、各ワークシートのサイズを調べて、どのシートを縮小する必要があるかを判断するとします。 このタスクに対処するための簡単な方法はありますか?

VBAコードで各ワークシートのサイズを確認してください

Kutools forExcelで各ワークシートのサイズを確認してください

OfficeタブOfficeでタブ付きの編集と閲覧を有効にし、作業をはるかに簡単にします...
Kutools for Excelはほとんどの問題を解決し、生産性を80%向上させます
  • 何でも再利用: 最もよく使用される、または複雑な数式、グラフなどをお気に入りに追加して、後ですぐに再利用できます。
  • 20以上のテキスト機能: テキスト文字列から数値を抽出します。 テキストの一部を抽出または削除します。 数字と通貨を英語の単語に変換します。
  • マージツール:複数のワークブックとシートをXNUMXつに。 データを失うことなく複数のセル/行/列をマージします。 重複する行と合計をマージします。
  • 分割ツール:値に基づいてデータを複数のシートに分割します。 XNUMXつのワークブックから複数のExcel、PDF、またはCSVファイル。 XNUMX列から複数列。
  • 貼り付けスキップ 非表示/フィルタリングされた行; カウントと合計 背景色別; パーソナライズされた電子メールを複数の受信者にまとめて送信します。
  • スーパーフィルター: 高度なフィルタースキームを作成し、任意のシートに適用します。 並び替え 週、日、頻度など。 フィルタ 太字、数式、コメント...
  • 300 以上の強力な機能。 Office 2007-2021 および 365 で動作します。 すべての言語をサポートします。 企業や組織に簡単に導入できます。

矢印青い右バブル VBAコードで各ワークシートのサイズを確認してください

次のVBAコードを使用すると、ブック内の各ワークシートのサイズをすばやく取得できます。 このようにしてください:

1。 を押し続けます Alt + F11 キー、そしてそれは開きます Microsoft Visual Basic forApplicationsウィンドウ.

2に設定します。 OK をクリックします。 インセット > モジュール、次のコードをに貼り付けます モジュールウィンドウ.

VBAコード:ワークブックの各ワークシートのサイズを確認してください</ p>

Sub WorksheetSizes()
'Update 20140526
Dim xWs As Worksheet
Dim Rng As Range
Dim xOutWs As Worksheet
Dim xOutFile As String
Dim xOutName As String
xOutName = "KutoolsforExcel"
xOutFile = ThisWorkbook.Path & "\TempWb.xls"
On Error Resume Next
Application.DisplayAlerts = False
Err = 0
Set xOutWs = Application.Worksheets(xOutName)
If Err = 0 Then
    xOutWs.Delete
    Err = 0
End If
With Application.ActiveWorkbook.Worksheets.Add(Before:=Application.Worksheets(1))
    .Name = xOutName
    .Range("A1").Resize(1, 2).Value = Array("Worksheet Name", "Size")
End With
Set xOutWs = Application.Worksheets(xOutName)
Application.ScreenUpdating = False
xIndex = 1
For Each xWs In Application.ActiveWorkbook.Worksheets
    If xWs.Name <> xOutName Then
        xWs.Copy
        Application.ActiveWorkbook.SaveAs xOutFile
        Application.ActiveWorkbook.Close SaveChanges:=False
        Set Rng = xOutWs.Range("A1").Offset(xIndex, 0)
        Rng.Resize(1, 2).Value = Array(xWs.Name, VBA.FileLen(xOutFile))
        Kill xOutFile
        xIndex = xIndex + 1
    End If
Next
Application.ScreenUpdating = True
Application.Application.DisplayAlerts = True
End Sub

3. 次に、 F5 このコードを実行するためのキーと、という名前の新しいワークシート Kutools for Excel 各ワークシート名とファイルサイズを含む現在のワークブックに挿入され、単位はビットです。 スクリーンショットを参照してください:

doc-check-sheet-size1


矢印青い右バブル Kutools forExcelで各ワークシートのサイズを確認してください

あなたが持っている場合 Kutools for Excelそのと 分割ワークブック ユーティリティを使用すると、ブック全体を個別のファイルに分割してから、特定のフォルダに移動して各ファイルのサイズを確認できます。

Kutools for Excel 300以上の便利なExcelツールが含まれています。 30日以内に制限なしで無料でお試しいただけます。 今すぐ入手.

Kutools for Excelをインストールした後、次の手順を実行します。

1。 各ワークシートのサイズを確認するブックを開き、[ エンタープライズ > ワークブックツール > 分割ワークブック、スクリーンショットを参照してください:

doc-check-sheet-size1

2。 の中に 分割ワークブック ダイアログで、すべてのワークシートを確認し、をクリックします スプリット ボタンをクリックし、新しいワークブックファイルを配置するフォルダーを指定します。 スクリーンショットを参照してください:

doc-check-sheet-size3
-1
doc-check-sheet-size4

3。 次に、現在のワークブックの各ワークシートが個別のExcelファイルとして保存されます。特定のフォルダーに移動して、各ワークブックのサイズを確認できます。

doc-check-sheet-size1

この分割ワークブック機能の詳細を知るため。


関連記事:

ブックを分割してExcelでExcelファイルを分離するにはどうすればよいですか?

シートとワークシートをExcelで新しいブックとしてエクスポートして保存するにはどうすればよいですか?


最高のオフィス生産性ツール

Kutools for Excelはほとんどの問題を解決し、生産性を80%向上させます

  • 再利用: すばやく挿入 複雑な数式、チャート および以前に使用したものすべて。 セルを暗号化する パスワード付き。 メーリングリストを作成する そしてメールを送る...
  • スーパーフォーミュラバー (複数行のテキストと数式を簡単に編集できます); 読書レイアウト (多数のセルを簡単に読み取って編集する); フィルター範囲に貼り付け...
  • セル/行/列をマージする データを失うことなく; 分割セルコンテンツ; 重複する行/列を組み合わせる...重複セルを防止します。 範囲を比較する...
  • [複製]または[一意]を選択します 行; 空白行を選択 (すべてのセルは空です); スーパーファインドとファジーファインド 多くのワークブックで; ランダム選択...
  • 正確なコピー 数式参照を変更せずに複数のセル。 参照の自動作成 複数のシートに; 箇条書きを挿入、チェックボックスなど...
  • テキストを抽出、テキストの追加、位置による削除、 スペースを削除する; ページング小計の作成と印刷。 セルの内容とコメントを変換する...
  • スーパーフィルター (フィルタースキームを保存して他のシートに適用します); 高度な並べ替え 月/週/日、頻度など。 特殊フィルター 太字、斜体...
  • ワークブックとワークシートを組み合わせる; キー列に基づいてテーブルをマージします。 データを複数のシートに分割; xls、xlsx、PDFをバッチ変換...
  • 300 以上の強力な機能. Office / Excel 2007-2021 および 365 をサポートします。すべての言語をサポートします。 企業や組織に簡単に導入できます。 フル機能の 30 日間無料トライアル。 60日間の返金保証。
kteタブ201905

Officeタブは、タブ付きのインターフェイスをOfficeにもたらし、作​​業をはるかに簡単にします

  • Word、Excel、PowerPointでタブ付きの編集と読み取りを有効にする、パブリッシャー、アクセス、Visioおよびプロジェクト。
  • 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
  • 生産性を 50% 向上させ、毎日何百回もマウス クリックを減らすことができます!
officetab下部
コメントを並べ替える
コメント (9)
まだ評価はありません。 最初に評価してください!
このコメントは、サイトのモデレーターによって最小化されました
非常に役立ちます。 ありがとうございました!!
このコメントは、サイトのモデレーターによって最小化されました
コードスニペットを公開していただきありがとうございます。 それは私が見つけたより良いルーチンの1つです。 これにいくつかの調整を加えます。2)Option Explicitを使用している場合は、上部に「DimxIndexasLong」を追加します。 3)これをForループ内に追加して、非表示のシートを処理します(そうでない場合はクラッシュします):xWs.Visible = xlSheetVisible 4)フルページの「チャート」シートがある場合は、ループのコードをコピーしてアプリケーションを反復処理する必要があります。 ActiveWorkbook.Chartsコレクション。 これを行う場合は、xWの宣言を「シート」から「オブジェクト」に変更します。 1)安価なステータスインジケーター(またはデバッグの問題)の場合は、Forループ内に次の行を追加します:Debug.Print "Calculating Worksheet Sizes、Sheet"&xIndex& "of"&ActiveWorkbook.Worksheets.count-XNUMX& "-"& xWs.Name
このコメントは、サイトのモデレーターによって最小化されました
ちょっとベン、あなたは追加されたあなたの電子メールからの項目#2と#4でテキストの文字列全体を再貼り付けできますか? 私のVBAの知識はかなり限られており、Forループのどこに追加するのか正確にはわかりません。 私のブックにはいくつかの非表示のシートがあり、マクロの実行中にクラッシュし続けます。 ありがとう、ボブ
このコメントは、サイトのモデレーターによって最小化されました
これは、私が追加したいくつかの拡張機能を備えたルーチンのコピーです。 サイトの制限により、複数の投稿に分割する必要がありました。 Public Sub WorksheetSizes()'更新20140526' https://www.extendoffice.com/documents/excel/1682-excel-check-size-of-each-sheet.html<br />'' BS 4/4/2016:ステータスバーを持ち、出力をフォーマットするように変更されました。 'クラッシュの原因となった非表示のシートを修正しました。 'チャートシートのサポートを追加DimxWsAsObject'ワークシートまたはチャートDimrngAs Range Dim xOutWs As Worksheet Dim xOutFile As String Dim xOutName As String Dim xIndex As Long On Error GoTo ErrorHandler Application.Cursor = xlWait xOutName = "KutoolsforExcel" xOutFile = ThisWorkbook.Path& "\ TempWb.xls" On Error Resume Next Application.DisplayAlerts = False Err = 0 Set xOutWs = Application.Worksheets(xOutName)If Err = 0 Then xOutWs.Delete Err = 0 End If With Application.ActiveWorkbook.Worksheets .Add(Before:= Application.Worksheets(1)).Name = xOutName .Range( "A1")。Resize(1、2).Value = Array( "Worksheet Name"、 "Size")End With Set xOutWs = Application.Worksheets(xOutName)Application.ScreenUpdating = False xIndex = 1 Debug.Print ThisWorkbook.Path For Each xWs In Application.ActiveWorkbook.Worksheets If xWs.Name xOutName Then Application.StatusBar = "Calculating Worksheet Sizes、Sheet"&xIndex& " of "&ActiveWorkbook.Worksheets.count-1&"-"&xWs.Name Debug.Print" Calculating W orksheet Sizes、Sheet "&xIndex&" of "&ActiveWorkbook.Worksheets.count-1&"-"&xWs.Name DoEvents'にはこれが含まれているため、CTRL+Breakを検出できます。 '---ペーストブレーク---
このコメントは、サイトのモデレーターによって最小化されました
'パート2/3'---貼り付けブレーク---xWs.Visible= xlSheetVisible'xOutFile = ThisWorkbook.Path& "\"&xWs.Name&"。xls"xWs.CopyQ Application.ActiveWorkbook.SaveAs xOutFile Application.ActiveWorkbook .Close SaveChanges:= False Set rng = xOutWs.Range( "A1")。Offset(xIndex、0)rng.Resize(1、2).Value = Array(xWs.Name、VBA.FileLen(xOutFile))Kill xOutFile xIndex = xIndex + 1 End IfNext'チャートシートについて上記を繰り返します。 Application.ActiveWorkbook.Chartsの各xWに対してxWs.NamexOutNameThen Application.StatusBar = "Calculating Worksheet Sizes、Sheet"&xIndex& "of"&ActiveWorkbook.Worksheets.count-1& "-"&xWs.NameDebug。 Print "Calculating Worksheet Sizes、Sheet"&xIndex& "of"&ActiveWorkbook.Worksheets.count-1& "-"&xWs.Name DoEvents'にはこれが含まれているため、CTRL+Breakを検出できます。 xWs.Visible = xlSheetVisible xOutFile = ThisWorkbook.Path& "\"&xWs.Name&"。xls"xWs.Copy Application.ActiveWorkbook.SaveAs xOutFile Application.ActiveWorkbook.Close SaveChanges:= False Set rng = xOutWs.Range( "A1 ").Offset(xIndex、0)rng.Resize(1、2).Value = Array(xWs.Name、VBA.FileLen(xOutFile))'Kill xOutFile xIndex = xIndex + 1 End IfNext'---ブレークを貼り付け---
このコメントは、サイトのモデレーターによって最小化されました
'パート3/3'---ブレークを貼り付け---'出力シートをフォーマットしますApplication.Sheets(xOutName).Activate Columns( "B:B")。Select Selection.NumberFormat = "#、## 0 _);( #、## 0) "Columns(" A:B ")。Select Columns(" A:B ")。EntireColumn.AutoFit Range(" A1")。Select'さらに良いことに、テーブルとしてフォーマットします。 ActiveSheet.ListObjects.Add(xlSrcRange、Range( "A1:B"&xIndex)、、xlYes).Name = "WorksheetSizes" Application.ScreenUpdating = True Application.Application.DisplayAlerts = True Application.StatusBar = "" Application.Cursor = xlDefault Exit Sub ErrorHandler:MsgBox "Error#"&Err.Number& "-"&Err.Description&vbCrLf& "in procedure WorksheetSizes" End Sub
このコメントは、サイトのモデレーターによって最小化されました
非常に非常に非常に非常に非常に役立つ。
ありがとう!!
このコメントは、サイトのモデレーターによって最小化されました
ありがとう、とても役に立ちました、
シートに不要な数式がたくさんあり、ファイルが正常に機能するように削除しました。
これらはすべて、各シートのサイズを見つけることができたためにのみ発生します。
再度、感謝します。

アンソン
このコメントは、サイトのモデレーターによって最小化されました
コードのクラッシュを避けるために一部のシートが非表示になっている場合に備えて、9行目と10行目にこれを追加する必要があります
スプレッドシートの各xWについて:xWs.Visible = True:次へ
ここにはまだコメントが投稿されていません
あなたのコメントを残す
ゲストとして投稿
×
この投稿を評価:
0   文字
推奨される場所

フォローする

著作権©の2009 - WWW。extendoffice.com。 | | 全著作権所有。 搭載 ExtendOffice。 | サイトマップ
MicrosoftおよびOfficeのロゴは、米国MicrosoftCorporationの米国およびその他の国における商標または登録商標です。
SectigoSSLで保護