Makroda sayfa bazında sayfa sayfa olarak sayfa nın altına kenarlık çizme
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
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.