スキップしてメイン コンテンツに移動

エクセル行幅を広げるマクロ

エクセルシートを印刷すると、文字がセルからはみ出してしまい、印刷できないという相談を受けた。これは、印刷される文字がプリンター内のフォントを使うため、大きさが画面と一致しないために起きる。プリンターのプロパティをプリンター内臓フォントを使わないように調整すればよいのだが、そういうことをせずに行の高さを広げて対応することにした。

エクセルで行幅を内容に合わせて広げるには、行番号の境をダブルクリックして自動調整するのはご存知だろう。シート全体を選んで任意の行境をダブルクリックすれば、シート全体で自動調整される。しかし、これだと余裕なくフィットされてしまう。「文字サイズを1段小さくすれば、余裕ができる」と誰もが思うだろう。しかし、自動調整したあと、文字サイズを変えると文字サイズに合わせて行が伸び縮みするという弊害が出る。自動調整した後まで自動調整してくれるという大きなお世話、要らない親切。高さの自動調整はプロパティではなくメソッドなのだが、一度設定すると高さを数値指定するまで解除できないようだ。

そこで、作ったのが以下の行を広げるマクロ(正確にはマクロではなくVBAプロシージャ)
Selectはしなくてもよいのだが、どこまで進んだか画面に表示させるために使用。
空の行や標準の1行で納まる内容があまり入っていない行を除いて広げるようにIFを使っている。
足し算で広げるが、掛け算で1.2倍とかにしたほうがよい場合もある。

Sub 行の高さを広げる()
    For i = 1 To 300 '開始行1、終了行300
    Rows(i).Select
If Selection.RowHeight > 20 Then Selection.RowHeight = Selection.RowHeight + 20 '空白行を除き20広げる
Next i
End Sub

このブログの人気の投稿

この受信者へ配信できる電子メール アカウントはありません。

アウトルック(MS Outlook)で送信時に出る場合があるというエラーメッセージ。 受信者のサーバーが悪いかのように見えるが、実はOutlookの問題。 「この受信者へ配信できる電子メール アカウントはありません。」 これは、「配信できる電子メール アカウント」と書いてあるのだから、「配信」側が悪い。 送信のアカウント設定が間違っているか、サーバーがダウンしているか、 送信者のアカウントプロファイル(データファイルとは違う)が壊れている。 最悪の場合は、プロファイルの作り直しがいる。

Dell inspiron 700m 修理

Dell のパソコンはユーザーでも簡単に開けて中を掃除できるんですけどねぇ。(笑) Dell Inspiron 700m のCPUファンが例によってホコリ(ホコリというよりゴミのような?)で詰まっていました。猫か犬かウサギの毛ですね。 掃除して一件落着かと思ったら、「なんでこんな古い電池がついてるの?」という1900年代の年代物のボタン電池が入っていました。中身は100円ショップで2個100円で売っているCR2032です。(笑)溶接してコネクター付けるより電池ボックスのほうが安いと思うんですが。 キーボードがめちゃくちゃ汚いので、分解して洗いました。衛生上の問題がありそうでした。(ネコか犬のあれでしょうか?) 新品に取り替えようと思ったら、日本では5千円近くします。海外だと10ドルぐらいなんですが、送料を払っても安いなか?

ご自分の時給との比較

1時間につき、2000円~3000円(科目によっては5000円)がうちの料金。 極たまに、「高い」という人がいる。「安い」という人は多くいるが、ほんとうにたまに。 ご自分の時給が「1000円」ぐらいだから、そこから計算しているようです。 全然、世の中の仕組みとか会社の仕組みとかわかってない。 あなたが「1000円」もらうのに、会社は何円客からもらっていますか?  先生の時給の上に「パソコンの本体やプログラムの代金」「教室の照明の電気代などの教室の維持にかかるお金(これはよそのパソコン教室では別に取って、見かけ上の料金を安くしている。)」「先生が使うテキストの代金」いろんな経費が人件費の上に乗っているんですよ。 自習する場所を提供しているだけのビデオ学習のパソコン教室とはうちは違いますから、本来なら、受講者10人にひとりの先生のよその教室の10倍の料金にしないと同じ収入にならない計算です。