[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『アクティブシートの容量をメッセージ表示したい』(けん)
シートが5枚のファイルがあります。データは、1行目が項目で列や行は、シートによってそれぞれ違います。
ファイル全体ではなくて、開いているシートだけの容量をメッセージ表示したいのです。
ファイルの容量をメッセージ表示するコードをインターネットで見つけました。
Sub Sample2()
Dim buf As Long
buf = FileLen("C:\Work\Sample.xls")
MsgBox Format(buf, "#,###") & "byte"
End Sub
シートだけの容量となると、調べても見つかりません。
マクロ初心者のため、考えつくコードといえば、
MaxRow = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
MaxCol = ActiveSheet.Cells(1, Columns.Count).End(xlToLeft).Column
ここで、データの範囲を指定してみようとして、
ActiveSheet.Range(Cells(2, 1), Cells(MaxRow, MaxCol)).Select としましたが、これすらもエラーになってしまいました。
なぜなのか検討もつきません。途方に暮れています。御教授よろしくお願いします。
< 使用 Excel:Excel2007、使用 OS:WindowsVista >
目的は分かりませんが、新しいブックにシートをコピーして コピーしたファイルのサイズを図ればいいのでは? ちなみになぜファイルサイズを知りたいのです? (稲葉) 2014/09/18(木) 07:22
まず、シートのデータ容量という情報はないと思いますが、(EXCEL の認識する)使用セル数 でも代替できるのでしたら、
Sub Sample() With ActiveSheet.UsedRange MsgBox "使用セル " & .AddressLocal(False, False) & " = " & .CountLarge End With End Sub のようなところで。
ファイルサイズも、見た目のデータがまったくかわっていなくても、肥大化していること が良くあります。 そういったことを懸念するのであれば、こういったところを参照してはと思います。
ケース別Excelファイルのダイエット方法8選 http://excel-master.net/file-operation-and-save/file-diet/ なぜか重いExcelファイルを軽くする方法10選 http://matome.naver.jp/odai/2134672226548347701
他にも「EXCEL ファイル 肥大化」などで検索すると、いろいろあると思います。 (Mook) 2014/09/18(木) 08:17
そのファイルで処理をした後、メモリ不足です のメッセージが連発しました。
上司に、シートごとの容量を調べてみたらとアドバイスをもらったためです。
他にも、同じ現象のファイルが幾つもあるので、
手間をかけずに調べる方法があればと思い、質問しました。
(けん) 2014/09/18(木) 19:31
だとしたら、よほど大きければ別ですが、ファイルサイズは関係無いと思います。
グラフや、数式を多用してはいないでしょうか。
先のダイエットをしてみるのも効果があるかもしれませんし、数式や書式の設定などが どうかということが大きく影響している気がします。 (Mook) 2014/09/18(木) 20:22
(けん) 2014/09/18(木) 23:13
(あかさな) 2014/09/19(金) 06:24
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.