シート表示変更with_PDFフラグ
2022年07月08日
「シート管理シート挿入マクロの解説」について、
select処理を使っている関係で、PDF変換の対象に非表示シートが含まれるとエラーになる。
今回はその対策と、シートの表示制御に関する改良についてのお話。
改良についてはめっちゃ簡単。
シート一覧を取得する際に、今まではシートの状態によらずPDFフラグを1にセットしていた。
対象シートが非表示(if sheets.Visible = false then)ならば、PDFフラグを0にセットするだけ。
ん? フラグが表示状態を表すなら、その値を使って表示制御できるじゃん!
ってことで、フラグに合わせてシートの表示状態を変更するマクロを作ってみた。
select処理を使っている関係で、PDF変換の対象に非表示シートが含まれるとエラーになる。
今回はその対策と、シートの表示制御に関する改良についてのお話。
改良についてはめっちゃ簡単。
シート一覧を取得する際に、今まではシートの状態によらずPDFフラグを1にセットしていた。
対象シートが非表示(if sheets.Visible = false then)ならば、PDFフラグを0にセットするだけ。
ん? フラグが表示状態を表すなら、その値を使って表示制御できるじゃん!
ってことで、フラグに合わせてシートの表示状態を変更するマクロを作ってみた。
PR
Whereコマンドについて
2022年07月05日
以前、Dirコマンドとエクセルを組み合わせてファイル一覧を取得するツールを紹介した。
https://aki.p-kin.net/Entry/10/
当時、ファイルサイズ、更新日時、フルパスを一気に取りたかったけど、
dirコマンドでの取り方がわからず断念して上記の形に落ち着いた。
最近、ファイル検索についてググってみたら、Whereコマンドなるものを発見!
https://aki.p-kin.net/Entry/10/
当時、ファイルサイズ、更新日時、フルパスを一気に取りたかったけど、
dirコマンドでの取り方がわからず断念して上記の形に落ち着いた。
最近、ファイル検索についてググってみたら、Whereコマンドなるものを発見!
シート管理シート挿入マクロの解説
2022年07月03日
前回、シート挿入マクロについて書いた。
書いてるときはちゃんとリファクタリングしたし、
見りゃわかるだろと思っていたものの、
解説なしは雑すぎるな。ってことで今回は解説。
とりあえずソースを見るって方はこちら。
書いてるときはちゃんとリファクタリングしたし、
見りゃわかるだろと思っていたものの、
解説なしは雑すぎるな。ってことで今回は解説。
とりあえずソースを見るって方はこちら。
シート管理シート挿入マクロ
2022年06月30日
概要
たまにシート数がめっちゃ多いエクセルファイルがある。シート間の移動は、Ctrl+PgUpやCtrl+PgDnを使ってはいるけど、
シート数が多いと何度も押すのがめんどい。
そこで個人的シート管理シートを挿入するマクロを作った。
いつ作ったか忘れちゃったけど、結構愛用してるのでご紹介。
ついに解決!!エクセルで行の高さを自動調整するマクロ_evolution
2022年06月24日
エクセルで印刷するときの見切れ対策として、
過去の記事「エクセルで行の高さを1行分バッファをもって自動調整する」で
自動高さ調整→15pt程度余白ができるよう高さ調整するマクロを紹介した。
エクセルで印刷すると文字サイズが見た目より若干大きなる。
1行分の余白を入れて、見切れを防止する内容ではあるけど、
セルの文字数が多くなると、やっぱり見切れる。。。
問題なのは文字サイズ。文字サイズ!?
今までなんで気づかなかったんだろう。
文字サイズが問題なら文字サイズを変えて自動調整すればいいことに。。。
今回はその対策方法について紹介する。
手順
1.見切れが発生しそうなセルを選択し、文字サイズを1レベル大きくする。
2.高さの自動調整をする。
3.大きくした文字サイズを元に戻す。
これならマクロ使わずに手動でできる。
でもめんどくさいので、やっぱりマクロでw
フォントサイズはrange.font.sizeで取得・設定ができる。
選択範囲の文字サイズをnポイント大きくするプロシージャを用意。
1ポイント大きくしてから、高さの自動調整をして、1ポイント小さくする。
印刷時に何ポイント分 文字が大きくなるか、
使っているフォントによって変わるかもしれないので、
実行時にInputBoxでポイントを指定する仕様にした。
実行前後のtimer関数の差分で、フォントサイズ変更の処理時間を計測
もう少し高速処理して欲しいところだけど、
そんなに大量に印刷しないだろうからこんなものか。
大きさを変えない場合:170,036セルを21.879秒で実行
大きさを変えた場合 :170,036セルを34.703秒で実行
描画を消して試したところ、フォントを小さくする場合は
大きさを変えない場合:170,036セルを25.078秒で実行
小さくした場合:170,036セルを25.418秒で実行
大きくした場合:待ちきれず強制終了。(5分で11,000セル)
以下、ソース。ソーステキストは、 こちらからダウンロード。
過去の記事「エクセルで行の高さを1行分バッファをもって自動調整する」で
自動高さ調整→15pt程度余白ができるよう高さ調整するマクロを紹介した。
エクセルで印刷すると文字サイズが見た目より若干大きなる。
1行分の余白を入れて、見切れを防止する内容ではあるけど、
セルの文字数が多くなると、やっぱり見切れる。。。
問題なのは文字サイズ。文字サイズ!?
今までなんで気づかなかったんだろう。
文字サイズが問題なら文字サイズを変えて自動調整すればいいことに。。。
今回はその対策方法について紹介する。
手順
1.見切れが発生しそうなセルを選択し、文字サイズを1レベル大きくする。
2.高さの自動調整をする。
3.大きくした文字サイズを元に戻す。
これならマクロ使わずに手動でできる。
でもめんどくさいので、やっぱりマクロでw
フォントサイズはrange.font.sizeで取得・設定ができる。
選択範囲の文字サイズをnポイント大きくするプロシージャを用意。
1ポイント大きくしてから、高さの自動調整をして、1ポイント小さくする。
印刷時に何ポイント分 文字が大きくなるか、
使っているフォントによって変わるかもしれないので、
実行時にInputBoxでポイントを指定する仕様にした。
実行前後のtimer関数の差分で、フォントサイズ変更の処理時間を計測
もう少し高速処理して欲しいところだけど、
そんなに大量に印刷しないだろうからこんなものか。
大きさを変えない場合:170,036セルを21.879秒で実行
大きさを変えた場合 :170,036セルを34.703秒で実行
描画を消して試したところ、フォントを小さくする場合は
大きさを変えない場合:170,036セルを25.078秒で実行
小さくした場合:170,036セルを25.418秒で実行
大きくした場合:待ちきれず強制終了。(5分で11,000セル)
以下、ソース。ソーステキストは、 こちらからダウンロード。