Makroda sayfa bazında sayfa sayfa olarak sayfa nın altına kenarlık çizme

Sayfa oluşturma tarihi :

Genel bakış

Yazdırırken, ben genellikle üstbilgi ve dört ler üzerinde bir kenarlık çizmek için kağıt bir çerçeve olarak kullanıldığını düşünüyorum. Ancak, kağıt tek bir sayfaysa, yalnızca kenarlığı el ile çizmeniz gerekir, ancak birden fazla sayfa olursa, kenarlık her sayfanın alt kısmında görünmez. El ile yeniden çekme desteği de vardır, ancak ortadaki çizgileri ekler veya kaldırırsanız, tüm sayfalardaki kenarlığı yeniden çizmeniz gerekir.

Bu bölümde, her sayfanın alt kısmında kenarlıkları otomatik olarak çizmek için makroların nasıl kullanılacağı açıklanmaktadır.

マクロで改ページ単位でページ下部に罫線を引く

Operasyonun onaylı sürümü

Desteklenen Excel sürümü

  • 2010
  • 2007
  • 2003
  • (Diğer sürümlerle çalışabilir, ancak onaylanmaz.)

Excel sürümünden emin olun

  • 2010
  • 2007
  • 2003

Içeriği

1ページの印刷

Tek bir sayfa yazdırırsanız, herhangi bir sorun olmadan yazdırmak için satırın altına bir kenarlık çizebilirsiniz.

複数ページ印刷時の最下行

Ancak, birden fazla sayfanız varsa, yalnızca satırın alt kısmında bir kenarlık çizebilirsiniz, ancak kenarlık her sayfanın alt satırında görünmez. Kenarlığı her sayfada görünmesini istiyorsanız, sayfa değişikliğine el ile kenarlık uygulamanız gerekir.

Ancak, ortada bir satır ekler veya kaldırırsanız, sayfa sonu ve kenarlık satırı kesilir, bu nedenle yeniden çekme olur, çünkü zahmetli olur.

Bu yüzden toplu sayfa değişikliği satırına bir sınır çizmek için bir makro kullanacağım.

ボタンの配置

Yerleşik bir makro ile çalıştırabilirsiniz, çünkü başlatmak için ne şekilde önemli değil, ama örnekte, ben ayrı bir sayfaya bir düğme yerleştirin ve düğmeye bastığınızda sayfa sonu bir kenarlık çizin.

Makrolar içeren bir şeyi dağıtmak istiyorsanız, dosyayı olduğu gibi geçirebilirsiniz, ancak makroyu kendiniz birleştirmek istiyorsanız, makroyu birleştirebilmeniz için excel'i ayarlayın. Bunun nasıl yapılacağını öğrenmek için form yerleşimini ve VBA program geliştirmeyi etkinleştirmek için Geliştirme sekmesini görüntüleyin.

マクロの登録

Bir düğme yerleştirdiğinizde, makro kaydı iletişim kutusu görüntülenir, bu nedenle "Yeni" düğmesine basarak tıklama olayını çalıştırabilmeniz için oluşturalım.

Makrolar veya Visual Basic hakkında çok fazla detaya girmeyeceğiz, bu nedenle ayrı ayrı kontrol edin.

Visual Basic düzenleyicisi açıldığında, aşağıdaki kodu ekleyin: Bu işlevi çağırarak belirli bir sayfa üzerinde sayfa değişiklikleri satırına kenarlık çizebilirsiniz.

Ben fonksiyonun tanımı hakkında bir yorum var, bu yüzden kontrol edin.

'【概要】
' 改ページプレビューに合わせて、ページの下に黒の羅線を引きます。
'
'【引数】
' targetSheet    : 改ページラインの描画対象シート
'  lineStyle      : 罫線のスタイル。XlLineStyle 列挙型から指定。
'  lineWeight     : 罫線の太さ。XlBorderWeight 列挙型から指定。
'  lineColorIndex : 罫線の色。XlColorIndex 列挙型から指定、またはカラー パレットのインデックス値を指定。
'
'【備考】
'  一度罫線を設定すると戻せないので注意。
Private Sub SetHPageBreakLines(targetSheet As Worksheet, _
                               Optional lineStyle As XlLineStyle = xlContinuous, _
                               Optional lineWeight As XlBorderWeight = xlThin, _
                               Optional lineColorIndex As XlColorIndex = xlAutomatic)

  ' 列の最大位置取得
  Dim maxColumn As Integer
  maxColumn = targetSheet.UsedRange.Columns.Count
    
  ' 各ページ描画
  For Each hpg In targetSheet.HPageBreaks
    Dim row As Integer
    Dim targetCell As Range
    row = hpg.Location.row - 1
    Set targetCell = targetSheet.Range(targetSheet.Cells(row, 1), targetSheet.Cells(row, maxColumn))
    
    ' 罫線のプロパティを設定する
    With targetCell.Borders(xlEdgeBottom)
      .lineStyle = lineStyle
      .Weight = lineWeight
      .ColorIndex = lineColorIndex
    End With
  Next
    
End Sub

Düğmenin tıklama işlemi aşağıdaki gibidir. Oluşturduğunuz SetHPageBreakLines işlevi için bir sayfa belirtirseniz, bu sayfaya bir kenarlık çizebilirsiniz. Ayrıca kenarlık stili belirtmek istiyorsanız, kalan bağımsız değişkenlerle belirtebilirsiniz.

Bir örnek olduğundan, sayfa adı doğrudan makroda belirtilir, ancak sayfa adının hücreye yazılmasının ve hücreye başvurabilmeyi mümkün kılmasının daha genel olduğunu düşünüyorum.

'【概要】
'  ボタンクリックイベント
Sub ボタン1_Click()
  ' 対象シート
  Dim syoriSheet As Worksheet
  Set syoriSheet = Worksheets("ドキュメント")

  ' 罫線を設定
  Call SetHPageBreakLines(syoriSheet)

  ' 下は線のスタイル指定
  'Call SetHPageBreakLines(syoriSheet, xlContinuous, xlThin, xlAutomatic)

  MsgBox syoriSheet.HPageBreaks.Count & "ページ分の線の設定が完了しました。"
End Sub

各ページ毎の罫線表示

Makroyu çalıştırdığınızda, her sayfanın alt satırının kenarlıklı olduğunu görebilirsiniz. Yazdırma Önizleme'de de denetleyebilirsiniz.

Bir uyarı olarak, makro bir kez yürütüldüğünde kenarlık kümesi döndürülemez çünkü sadece yazdırılırken makro çalıştırmak için iyi olduğunu düşünüyorum.