Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


8936 / 13646 ツリー ←次へ | 前へ→

【30191】セル幅の変更 mam 05/10/21(金) 13:07 質問[未読]
【30258】Re:セル幅の変更→自己解決 mam 05/10/24(月) 9:32 回答[未読]

【30191】セル幅の変更
質問  mam  - 05/10/21(金) 13:07 -

引用なし
パスワード
   いつも、お世話になりっぱなしです。が、また教えて頂きたく伺いました。

マクロ起動により、ある文章(表形式)が作成されます。その文章の印刷範囲指定したいのですが、自分の意図する事が出来ません。

印刷範囲の指定は以下コードを、使用していますが、

Worksheets(1).Activate
Set p_ad = Range(Selection.SpecialCells(xlLastCell).CurrentRegion.Address)
ActiveSheet.PageSetup.PrintArea = Range("A1", p_ad ).Address

このコードで最終セルを認識できるのですが、この最終セルの幅が可変の為、入力されている文字(また数値)がセル幅を超えた場合に印刷範囲から、文字がはみ出てしまい、印刷時に文字が切れてしまいます。

どのようにして最終セルの文字数に合わせたセル幅にして印刷範囲を指定すればよいのかわかりません。
よい方法がありましたら、ご教授願います。

【30258】Re:セル幅の変更→自己解決
回答  mam  - 05/10/24(月) 9:32 -

引用なし
パスワード
   此方に質問をさせて頂いた後、なんとか自己解決にいたりました。
下記コード3行目に以下の分を追加して、最終セルの幅を入力されている
文字数に変更することが出来る様になりました。

Selection.SpecialCells(xlLastCell).EntireColumn.AutoFit
 (↑二行目、3行目の間に追加)

>Worksheets(1).Activate
>Set p_ad = Range(Selection.SpecialCells(xlLastCell).CurrentRegion.Address)
>ActiveSheet.PageSetup.PrintArea = Range("A1", p_ad ).Address

 本来ならば、自己解決ですので「本文」を削除すべきなのでしょうが、何かのお役立てればとも思いましたので、解決を記載させて頂きました。

8936 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free