忍者ブログ

ハイパーリンクのシート内参照について

2022年07月12日
エクセルの表で、データを追加するとき
テーブルが大きいと入力セルへたどり着くのに時間がかかる。

今回は、テーブルに追記するときに、
最終行の次の行のセルにカーソルを合わせるハイパーリンクについて。
PR
つづきはこちら "ハイパーリンクのシート内参照について"

シート表示変更with_PDFフラグ

2022年07月08日
シート管理シート挿入マクロの解説」について、
select処理を使っている関係で、PDF変換の対象に非表示シートが含まれるとエラーになる。

今回はその対策と、シートの表示制御に関する改良についてのお話。


改良についてはめっちゃ簡単。
シート一覧を取得する際に、今まではシートの状態によらずPDFフラグを1にセットしていた。
対象シートが非表示(if sheets.Visible = false then)ならば、PDFフラグを0にセットするだけ。


ん? フラグが表示状態を表すなら、その値を使って表示制御できるじゃん!
ってことで、フラグに合わせてシートの表示状態を変更するマクロを作ってみた。
つづきはこちら "シート表示変更with_PDFフラグ"

シート管理シート挿入マクロの解説

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セル)


以下、ソース。ソーステキストは、 こちらからダウンロード。
つづきはこちら "ついに解決!!エクセルで行の高さを自動調整するマクロ_evolution"