プロが教える店舗&オフィスのセキュリティ対策術

ExcelのVBAにてページごとの枠線を引きたいのですが、
Range("A13:BJ59")のように選択の仕方が分かりません。

たとえば印刷1ページ目を選択するにはどうすればいいのでしょうか?

以下のようにして罫線を引くつもりです。
Range("A13:BJ59").BorderAround LineStyle:=xlContinuous, Weight:=xlThin, ColorIndex:=xlAutomatic

A 回答 (2件)

『ExcelのVBAにてページごとの枠線を引きたい』場合は


こんな感じになります。

Sub try_1()
  Dim r As Range
  Dim x As Object

  With ActiveSheet
    Set r = .UsedRange
    '【注意】使用領域の罫線をクリア。拙い場合は除外してください。
    r.Borders.LineStyle = xlNone
    '最終セル選択し改ページプレヴュー。PageBreaks取得のため。
    r(r.Count).Select
    ActiveWindow.View = xlPageBreakPreview
    '印刷エリアが設定されている場合は範囲再設定
    If .PageSetup.PrintArea <> "" Then
      Set r = .Range(.PageSetup.PrintArea)
    End If
    r.BorderAround xlContinuous
    '水平改ページ位置をLoopして罫線設定
    For Each x In .HPageBreaks
      Intersect(r, x.Location.Offset(-1).Resize(2).EntireRow) _
           .Borders(xlInsideHorizontal).LineStyle = xlContinuous
    Next
    '垂直改ページ位置をLoopして罫線設定
    For Each x In .VPageBreaks
      Intersect(r, x.Location.Offset(, -1).Resize(, 2).EntireColumn) _
           .Borders(xlInsideVertical).LineStyle = xlContinuous
    Next
  End With
  'ノーマルビューに戻す
  ActiveWindow.View = xlNormalView
  
  Set r = Nothing
End Sub

もし、セル背景色を全て『白』にしても構わないなら、
白色にしてセル枠線が印刷されないようにした上で、ページ設定の[枠線]オプションをOnにすれば良いです。
手動で一度設定してしまえば済むのでマクロ不要ですが、一応、
Sub try_2()
  With ActiveSheet
    .UsedRange.Interior.Color = vbWhite
    .PageSetup.PrintGridlines = True
  End With
End Sub



ついでに
>印刷範囲 = ActiveSheet.PageSetup.PrintArea
>印刷範囲の設定した保存ファイルを開き、そのままマクロを実行すると、
>上記の方法では""と範囲ではなく空白が返ってきてしまいます。
推測ですが、印刷範囲を設定したシートがActiveになっていなかったとかじゃないですかね?
    • good
    • 0
この回答へのお礼

ありがとうございます!
参考になりました!

お礼日時:2009/12/07 10:00

枠線の意味が解りませんが、印刷範囲の事でしょうか?



ActiveSheet.PageSetup.PrintArea = Range("A13:BJ59")
    • good
    • 0
この回答へのお礼

ありがとうございます。

枠線というのは罫線のことです。
印刷範囲は、教えていただいたのを逆にして取得することができました。

印刷範囲 = ActiveSheet.PageSetup.PrintArea

ですが、印刷範囲の設定した保存ファイルを開き、そのままマクロを実行すると、上記の方法では""と範囲ではなく空白が返ってきてしまいます。
開いて、印刷範囲を動かして、マクロを実行すると取得できていました。

なぜ選択範囲が取得できないのでしょうか?

お礼日時:2009/12/04 15:34

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています