ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

Excel(エクセル)活用コミュの印刷範囲の設定について

  • mixiチェック
  • このエントリーをはてなブックマークに追加
はじめまして。

EXCELは仕事で少し使う程度であまり詳しくありません。

毎回同じ処理をするのでマクロやVBAで何とかしたいのですが、色々調べてもうまく方法を探し出せなくて困ってます。

どなたかご教示願えますか?

【内容】
◎表の左下端、右下端のセルは共に空欄で、データによって下端の行は変わります(60〜90くらいで、ここではαとしておきます)。
◎表内で入力されたセルの下端はL列です。
◎表の上端セル(A14)の1つ上の行(13)は空欄。
◎表の下端行が変動しても毎回A14:Nαの範囲を印刷範囲にしたい。

説明が足りないようであれば付け加えますので、是非とも教えていただけませんでしょうか?

コメント(10)

>kusakabe様

お返事ありがとうございます。マクロの登録は試したんですが、Range(A14:N(そのシートの固定行))でしか登録されず、今の私の力では万能な形に変更できないんです。
>Kusakabe様

上のコメントで名前を間違えてしまいました。誠に申し訳ありません。
>>客観的に『他人に説明』できる ぐらいじゃないとマクロはぜったい書けませんよ!

的を射ていて、自己反省(^^;
過去の自分の書き込みを読み返すと恥ずかしいです…。

Nαって最終行のことかな?

  Dim myColumns As Range
  Dim myRange As Range
  Set myColumns = Columns("N")
    With myColumns
      Set myRange = .Find(What:="*", After:=.Cells(1), _
      LookIn:=xlValues, Searchorder:=xlByRows, _
      SearchDirection:=xlPrevious)
    End With
    
    With ActiveSheet.PageSetup
      .PrintArea = "A14:N" & myRange.Row
    End With
  Set myColumns = Nothing
  Set myRange = Nothing

http://mixi.jp/view_bbs.pl?id=27926681&comm_id=2106
>Kusakabe様

なるほど。現状を把握した上でどのようにするのか?が重要なんですね。勉強になります。


>Golden様

お返事ありがとうございます。これでやってみるとN列の最下端までの印刷範囲になってしまいます。C列からL列はもっと下の行にも入力があります。Kusakabe様の仰る通り、説明が足りなさそうなので画像UPしておきますね。


>>◎表の下端行が変動しても毎回A14:Nαの範囲を印刷範囲にしたい。
>>C列からL列はもっと下の行にも入力があります。

Columns("N")の中身は変動する列範囲を指定します。
"C:N"にして見てくだい。
>>データによって下端の行は変わります(60〜90くらいで、ここではαとしておきます)。
Columns("C:L")にすると、CからLの最終行を取得し
  .PrintArea = "A14:N" & myRange.Row
A14からNに取得した最終行をつけて印刷範囲にします。
で、いいのかな?

5のコードは値(数式の結果も含む)のみですが、表示されていない数式も対象にする場合はLookIn:=の設定値をxlFormulasとしてください。
関数のCOUNTA()とCOUNT()の違いのようなものです。

数式・値 LookIn:=xlFormulas,
値のみ  LookIn:=xlValues,
>Golden様

返事遅くなってしまい申し訳ありませんでした。GW前ということで業務が忙しくて。。。

Golden様の記述の通りで、全てのファイルで上手くいきました。ありがとうございます。ただ知識があまりない為、解説を読んでもイマイチわかっていません。やはりちゃんと基礎の知識は勉強しようと思います。

本当にありがとうございました。

ログインすると、みんなのコメントがもっと見れるよ

mixiユーザー
ログインしてコメントしよう!

Excel(エクセル)活用 更新情報

Excel(エクセル)活用のメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。