Excel VBA質問箱 IV

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

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


8102 / 13644 ツリー ←次へ | 前へ→

【35075】印刷範囲設定について Win 06/2/21(火) 0:44 質問[未読]
【35079】Re:印刷範囲設定について 再送 ichinose 06/2/21(火) 9:21 発言[未読]
【35127】Re:印刷範囲設定について 再送 Win 06/2/22(水) 1:30 お礼[未読]

【35075】印刷範囲設定について
質問  Win  - 06/2/21(火) 0:44 -

引用なし
パスワード
   初めまして。最近VBAを始めたばかりの初心者です。入門書やネットでなんとか大体できあがったのですが、最後の印刷でつまずいています。

ユーザーフォームのテキストボックスを使って通常の印刷コマンドのページ指定と同じような事をしたいのですが、プリントエリアを一括で選択する設定をしてしまうと改ページしたい行がずれてしまうので、ページごとにarea1〜area10と名前をつけ、TextBox1に最初のページ数、TextBox2に最後のページ数を入力するようにしました。
たとえば、TextBox1=2 TextBox2=5の場合
印刷範囲はarea2:area5となるようにしたかったので、

Private Sub 印刷開始_Click()
  Dim a As String
  Dim b As String
  a = "area" & TextBox1
  b = "area" & TextBox2
  
  Sheets("○○").Activate
  ActiveSheet.PageSetup.PrintArea = "a:b"
End Sub

としてみたのですが、エラーになりました

  ActiveSheet.PageSetup.PrintArea = "area" & TextBox1:"area" & TextBox2

にしてみても駄目でした。

ちなみに、単ページの設定
  ActiveSheet.PageSetup.PrintArea = "area" & TextBox1
は可能でした。

3日ほど試行錯誤したんですがどうにもうまくいきません。全く違う方法でもっといい方法があるのかもしれませんが、この方法しか思いつきませんでした。何かいい方法があったら教えて下さい。宜しくお願いします。

【35079】Re:印刷範囲設定について 再送
発言  ichinose  - 06/2/21(火) 9:21 -

引用なし
パスワード
   ▼Win さん:
おはようございます。

>
>ユーザーフォームのテキストボックスを使って通常の印刷コマンドのページ指定と同じような事をしたいのですが、プリントエリアを一括で選択する設定をしてしまうと改ページしたい行がずれてしまうので、
ページレイアウトが正しく設定されていないからでしょうかねえ・・、
もっとも私もよくやりますが・・・。


ページごとにarea1〜area10と名前をつけ、TextBox1に最初のページ数、TextBox2に最後のページ数を入力するようにしました。
>たとえば、TextBox1=2 TextBox2=5の場合
>印刷範囲はarea2:area5となるようにしたかったので、
>
>Private Sub 印刷開始_Click()
   dim idx as long
   dim jdx as long
   dim st as long
   dim ed as long
   st=textbox1.value
   ed=textbox2.value
   ReDim nm(1 To ed - st + 1)
   For idx = st To ed
    nm(jdx + 1) = "area" & idx
    jdx = jdx + 1
    Next
>  Sheets("○○").Activate
  ActiveSheet.PageSetup.PrintArea = application.Range(Join(nm(), ",")).address
>End Sub
>

とすれば、エラーはなくなると思いますが・・・、
果たしてご希望通り処理されるかは試してみてください。

【35127】Re:印刷範囲設定について 再送
お礼  Win  - 06/2/22(水) 1:30 -

引用なし
パスワード
   ▼ichinose さん:
ありがとうございます。出来ました!

>とすれば、エラーはなくなると思いますが・・・、
>果たしてご希望通り処理されるかは試してみてください。

ご希望通りです。完璧でした。
なんだか難しいことになってて何の事やらさっぱりなんですが、少しずつ解読していこうと思います。ありがとうございました。

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