Tecnologia, programação e muito Visual FoxPro.

quinta-feira, 21 de junho de 2012

Re: ]] XL-mania [[ Bottom Border untuk Row Terakhir di Setiap Halaman secara Otomatis

Kok belum ada yg menjawab ya... 
mungkin karena tidak dibawakan BAHAN (berupa tabel dlm worksheet) yg akan di-print dengan keinginan khusus spt ini.

Dengan rumus, tidak mungkin kita memformat cell/range menjadi ber-Border.
Dengan 'conditional formatting' memang kita dapat menambahkan Border pada suatu range yg memenuhi syarat tertentu. Tetapi apakah kita tahu Range (sebariscell di dlm tabel) yg sedang menjadi baris terbawah (batas Horisontal-Pagebreak)? sedangkan HPageBreak itu bisa berpindah pindah sesuai banyaknya Halaman Cetak yang kita Set dlm PageSetup!

Yg paling mungkin (selain secara manual) tentunya dengan pemrograman VBA.

Makronya sendiri tidak terlalu sulit dibuatnya, tetapi 'kan perlu dipraktekkan di LAHAN-nya, sedangkan lahannya harus dibuat sendiri (kerja bakti), ya ogah lah...
Itu suasana hati seminggu y.l.  Sekarang agak lain karena badan sedang terasa segar hati&otak pun sedang tanpa beban berat...


Sub AddBottomBorderAtHpgBreaks()
   ' siti Vi * ©tv / 15 Jun 2012
   ' menambahkan Botttom-Border pada setiap hPageBreak
   ' {Print Area} Harus sudah diSet sebelum menjalankan makro
   '---------------------------------------------
   Dim PrintRng As Range, hPb As HPageBreak, c As Integer, r As Long
   Set PrintRng = Range(ActiveSheet.PageSetup.PrintArea)
   c = PrintRng.Columns.Count:  r = PrintRng.Rows.Count
   PrintRng.Borders(12).LineStyle = xlNone
   For Each hPb In ActiveSheet.HPageBreaks
      If hPb.Extent = xlPageBreakPartial Then
         BottomBordering hPb.Location.Offset(-1, 0).Resize(1, c)
      End If
   Next
   BottomBordering PrintRng(r, 1).Resize(1, c)
End Sub

Makro bekerja otomatis pada saat anda memberi perintah PRINT atau PrintPreview kpd Excel
Garis BottomBorder masih ada ketika proses cetak maupun Print-Preview telah selesai.
Jika Tabel ingin dibersihkan dari borders, diharapkan anda membersihkannya sendiri secara manual (klik Ikon Borders-kosong setelah sebelumnya menSelect  tabel / Print-Area).

Pada saat anda mengubah banyaknya halaman, Border dibersihkan untuk diganti sesuai dengan banyaknya halaman pada setting terbaru/ yg ada. Efeknya baru kelihatan setelah di  Print / PrinPreview.




wassalam
~siti~




2012/6/14 zulfikri ahmad <zulfikri_ahmad@yahoo.com>
> Ane ada masalah nih.. Ane punya masalah di lampiran berikut
> Gimana caranya supaya pas ane print file tersebut ada ada bottom border untuk row terakhir di setiap halamannya.
> Selama ini ngerjainnya manual dengan liat di View > Page Layout trus dikasih bottom border di row terakhirnya.
> Biasa gak ya dibuat jadi otomatis?
> Thanks all...

Nenhum comentário:

Arquivo do blog