2016年2月
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29          

雲量

フォト
無料ブログはココログ

PHOTOIHITO

  • PHOTOHITOブログパーツ

« 年度末 | トップページ | そうだ 福岡、行こう 2 »

2011/03/31

EXCELで印刷するとはみ出して切れてたからキレた

今日は、面倒くさい表をExcelでゴリゴリ作った。

できたできた。印刷しちゃえ。ふんふんふーん。ん?んん?んんん?画面で見たら綺麗なのに印刷したら、はみ出して切れてしまって、読めんやないかーい!どないなっとんねん。

と、キレちゃった経験をお持ちのアナタのために、書くよ、秘密の魔法。

Excel使って表を作ったりするのは、よくあることだよね、こんなん作るよね。Excel1

で、これを印刷してみると、こんな風になるよね。

Excel2

(2)のところ、「雲が広がりやすいでしょう。」は、どこ行った?ん?んん?ん...(ry

こーゆー風に切れちゃうことって多いでしょ?で、どうしてます?切れそうなところは手で間隔をちくちく広げてます?そーですよねー。そうしちゃいますよね。でもさー、なんか寂しくないすか?その作業。ぶっちゃけ、地味だし。ってか、時間無駄だし。

これ、実はExcelってMAC用のアプリケーションだったそうで(マジスカ)、Osakaってフォントに合わせてあるらしい。なんだ、その粉モンみたいなフォント?ってな余談は置いといて、今日は、ちくちく家内制手工業的作業から解放される魔法の呪文です。

Excelには、マクロっちゅー、仕込んだら、きっちり作業を代行してくれる機能があるので、それ使いましょ。

Excel3

こーやって、Visual Basic Editor 開く。新しいExcelでのマクロの開きかたは知らないから、ググってちょ。

んで、こーゆー風にマクロを貼り付ける。

Excel4

貼り付けるソースは、これ。

' 印刷して切れない高さに行を自動調節しちゃうし、複数タブだって全部やっちゃうスゲーまくろ by ほっしー&けむけむ
Option Explicit
Dim 開始明細行 As Integer

Public Sub 印刷で切れるのを頑張ってみる()
Dim own_sheet As Object
Dim w_cnt As Long
Dim x As Long
' 行の開始を決めておく
    開始明細行 = 1
' 初期値セット
    w_cnt = 1
   
    For Each own_sheet In Sheets
        own_sheet.Activate
        ' シートの最終行をセット
        ' 各シートのC列を見てます
        w_cnt = own_sheet.Range("C65536").End(xlUp).Row
       
        For x = 開始明細行 To w_cnt
            own_sheet.Rows(x).Select
            If own_sheet.Cells(x, 3) <> "" Then
                Selection.RowHeight = ((Selection.RowHeight / 12) * 1.3) * 12 + 12
            End If
        Next
    Next
End Sub

ここで、12 ってのは、元の表の1行の時の高さ。1.3ってのは拡大係数でモノによって、要調整。1.2くらいで、だいたい大丈夫みたいだけど、3行に折り返したので、3行目がいっぱいいっぱいになってると切れるので、1.3にしてみたけど、フォントの種類やサイズとかプリンタに依存したりしそうだから、試行錯誤して決めて。

それと、空行は広げないって判断をC列でやってるので、C列以外で判断させるなら、Range("C65536")のCを、その列に変えて。own_sheet.Cells(x, 3) ここの3もC列の事。ここらは好きに調整してちょ。

んで、とりあえず、保存して、コピってバックアップ作ってからxlsを動かします(最初は何回か高さ調整をしてみないと綺麗にできるかどうかわかんないので、バックアップしておいて。調整するのは1.3や12。あらかじめ、高さは確認しておいたほうがいいね)。

サイズ調整や空行認識は自動でやるようにしようと思う。期待しないで待っててね。

そしたら、

Excel5

こうやって、マクロ動かすと、

Excel6

こんなん出てくるから、「実行」をクリックすると、

Excel7

こんな風に調整されるので、印刷してみると、

Excel8

メデタシ

追伸

マクロ付きのExcelシートをそのままメールすると、開くときにマクロを有効にしますか?みたいな事聞いてきてウザいから、ヒトサマに送る時は、エディタ開いてマクロを消してから送るのがオススメ(付けたマクロを消して保存するだけ)。


おまけ

Stratos4 - I Turn to You

この曲、キモチいい。

[Techno Remix] Mel C - I Turn To You (Louie Devito)

« 年度末 | トップページ | そうだ 福岡、行こう 2 »

パソコン・インターネット」カテゴリの記事

コメント

あああーこれ便利!!!
いつもすごくストレスになってるので、さっそく利用させていただきます

re:
使ってみてくださいー
来週くらいに
1.空白行の自動認識
2.最初に高さの自動設定にして高さを揃える
3.フォントサイズによって高さの増分を調整する
4.アドインってのにしてみる
あたりをやって完成させたいです

けむけむ先生って言っちゃおうかな・・・
パソコン、Excel、etc.奥が深いですなぁ・・・
私はパソコン教室で教わった事しか分かんないからなぁ・・・
まだまだ初心者からちょい抜け出したぐらいなんです・・・
何かあったら、宜しく
なんて・・・

re:
えへへへ、おぢさん、照れちゃうゾ

Excelって大好きです。
色んなことできるんですよね。
と言っても私めちゃくちゃ詳しくはないですが、上のこと是非試してみたいです。
キョーミ深々。。。。

re:
Excelって、いろいろできますよねー
マクロって、VBAってのはVisual BASICと
ほとんど同じなので、いろんな事ができますよねー
問題は新しいExcelは使い方が分からないって事で...

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: EXCELで印刷するとはみ出して切れてたからキレた:

« 年度末 | トップページ | そうだ 福岡、行こう 2 »