
年間の経理データを1つのブックで処理しています。
ブックには複数のファイルがあり、なおかつ1シート内にも12ケ月分のデータをいれています。毎月入力時に該当月のシートか該当範囲だけを表示させるようにマクロを使っています。業務上どうしてもファイルを分割することはできません。(1ヶ月過ぎると入力不可で表示のみ選択できるなどもしています。)
シートの表示、非表示やセルの保護、非保護、またリンクなどいろいろしていますが、このファイルを軽量化する方法はないでしょうか?
今は3MGくらいですが、容量が大きくなってしまう主な原因はなんでしょうか?
マクロの工夫例があれば教えてください!
No.1ベストアンサー
- 回答日時:
>業務上どうしてもファイルを分割することはできません
という前提がどうにも理解できないのですが。
直接リンクを張ってもいいですし、VBAが使えるならファイルネームさえ変更されなかったら、どうにでも参照はできますよ(名前が変更されたとしても何とかできないことはないですし)。
>シートの表示、非表示やセルの保護、非保護
この辺の部分はファイルのサイズとは全く関係がない部分です。表示上見えなくしているのと実データが無いというのは大きな違いがあります。
2LDKの部屋だけど扉にカーテンをかけて完全に隠しているので家に来る人はみんな1DKと勘違いするんですよっていう例があったとしても、その部屋の坪面積や家賃の評価が下がるわけでもなく、最初から1DKの部屋とは大きな違いがあります。
データ容量を小さくしたいのなら、入力したり、データの確認をするインターフェース部分と実データが入っている部分をブック単位で完全に切り分けてしまうことです。さらにその実データも例えば月単位で分けるとか。
マクロの工夫はあくまでも処理速度などが上がるとかそういう意味で使われます。こういう仕様上の問題は設計レベルの問題です。
早速ありがとうございます。マクロで工夫ということではないのですね。
約40社関連会社にそのファイル送付し、毎月入力して送り返してもらっています。数値情報なので前月データを一部使用して当月分を入力したるチェックしたりもしています。マクロでのエラーチェックもしています。
エラーチェックをするためのファイルや、データ保存のファイル、メールのやりとりをするファイルなどを分けるほうがよいのでしょうかねぇ。
ファイルの圧縮では、何か「保護」されてると圧縮があまりできないとか聞いたこともあったんですが。これは質問とは関係ないですが。
No.4
- 回答日時:
>今は3MGくらいですが、容量が大きくなってしまう主な原因はなんでしょうか?
3MG-->3M?これは、あなたの感覚から言って、
「このデータ量なら、これぐらいのファイルサイズは妥当だ」
と言える大きさなのでしょうか?
感覚と大きく異なるのでしたら、EXCELがデータの最終セルを誤認識している可能性があります。次をお試し下さい。
1. [Ctrl]+[G]で[ジャンプ]ウインドウが開きます
2. [セル選択]クリック
3. [最後のセル]-[OK]クリック
これで、ちゃんとデータの最終行にジャンプしたらOKです。しかし、全然思いがけないセルにジャンプした場合、EXCELがデータの最終セルを誤認識しています。
不要な空データを保持しているわけですから、ファイルサイズが無駄に肥大する結果となります。この件については、MSのWEBサイトに技術情報があります。
これに該当する場合には、データの最終行からジャンプで飛んだ「最終セル」まで削除します。
情報ありがとうございます。
ファイルを確認してみます。
今回のケースではないのですが、データ量が少ないのにやたらサイズが大きいファイルがあって、再作成したことがあるのですが、きっと教えていただいたことが原因のようですね。参考になりました。ありがとうございます。
(お礼が遅くなり失礼いたしました。)
No.3
- 回答日時:
お礼文見ました。
そういう事情ならやはり設計レベルで仕様を変えないことにはそのうち破綻するんじゃないんですかね(単純にファイルサイズがメールサーバーの容量を越えてしまう)。まぁメールではなくてFTPサーバーでも立ち上げてそこでやり取りすれば問題ないでしょうが。
あとファイルの圧縮は別に関係ないですよ。例え暗号化されているファイルだろうが圧縮しても問題ありません。だから圧縮することにより20%ぐらいまでのサイズにはなるでしょうから、破綻は当分先だとは思いますが。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Visual Basic(VBA) Excelのマクロコードについて教えてください。 1 2022/03/27 13:25
- PowerPoint(パワーポイント) エクセルのマクロについて教えてください。 1 2022/03/25 17:03
- Excel(エクセル) 【マクロ】マクロが保存されているエクセルとは、別のエクセルブックの全シートの非表示列を再表示したい 1 2022/12/24 20:48
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/21 09:28
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/03 11:27
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/03 12:30
- Visual Basic(VBA) 複数ファイルのデータの統合について 12 2022/05/14 12:03
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/06/04 09:39
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/06 17:46
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
バッファとは何ですか
-
Microsoft VBAで2GBを超えるフ...
-
入力ファイルをバイナリにする利点
-
ページ読み込み時に自動的にsub...
-
エラー:ストリームの終わりを...
-
バイナリーデータの一部データ...
-
C言語の質問です。バイナリ形...
-
画像の保存方法。
-
【Teraterm】filewritelnについて
-
ROM書き込みデータのファイル形...
-
wave形式(*.wav)のフォーマット...
-
エクセルVBA 2千万行のCSVファ...
-
FTPを使わないファイルアップロ...
-
24ビットのWaveデータの中身に...
-
バイナリファイルの検索について
-
= (イコール)で始まるセルの値...
-
【python】Excelファイルを読み...
-
C言語初心者の質問失礼します。
-
どんなプログラムを書いても指...
-
FTPでputすると空ファイルが出...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バッファとは何ですか
-
Microsoft VBAで2GBを超えるフ...
-
EXCEL VBAでテキストファイルの...
-
VBA バイナリ―から文字列にす...
-
エラー:ストリームの終わりを...
-
ページ読み込み時に自動的にsub...
-
EOF
-
エクセルVBA 2千万行のCSVファ...
-
入力ファイルをバイナリにする利点
-
【Teraterm】filewritelnについて
-
【python】Excelファイルを読み...
-
EXCEL VBAで、バイナリデータの...
-
FTPでエクセルをPUTするとファ...
-
テキストデータをSQLServerに取...
-
C言語とシリアル通信の送受信...
-
ビットマップファイル生成(C言...
-
pcxファイルを開きたい(RGBデ...
-
FTPを使わないファイルアップロ...
-
MacからWinにファイルを添付す...
-
HDDのバイナリイメージの取得方...
おすすめ情報