Dear Pak Franz,

 

Sebenarnya indikasi 30 rows per page adalah sample,

Hanya untuk mengindikasikan sisa di page terakhir, apa bila ada sisa dalam
satu criteria, harus tetap di cetak.

Misal di zone RA-E-1 ada 51, misal 1 page 50, maka sisa 1 page tetap
mencetak 1 row itu.

Tapi dipisahkan dengan zone RA-F-1. Karena pembatas-nya adalah zone yang
berbeda.

Seperti itu.

 

Thanks,

Anto

 

From: belajar-excel@yahoogroups.com [mailto:belajar-excel@yahoogroups.com]
On Behalf Of Franciscus SOG
Sent: Saturday, June 18, 2011 10:11 AM
To: belajar-excel@yahoogroups.com
Subject: Re: [belajar-excel] Cara Set Page Break Base On Kriteria Tertentu

 

  

Dear Anto,

Setelah membaca kamus, ternyata ada cara lebih praktis. Cara manual
sebelumnya mohon diabaikan. Berikut cuplikan vba-nya :

Sub ManualPagebreaks()
Dim vAwal, vAkhir, vJumlah, i As Variant
Dim Areaku As String
ActiveSheet.ResetAllPageBreaks
ActiveSheet.PageSetup.PrintArea = "A2:F571"
Areaku = ActiveSheet.PageSetup.PrintArea
vAwal = Range(Left(Areaku, Application.Find(":", Areaku) - 1)).Row
vAkhir = Range(Mid(Areaku, Application.Find(":", Areaku) + 1, 99)).Row
vJumlah = WorksheetFunction.RoundUp(Range(Areaku).Rows.Count / 30, 0)
For i = 1 To vJumlah
If vAwal + 30 < vAkhir Then
ActiveSheet.Rows(vAwal + 30).PageBreak = xlPageBreakManual
vAwal = vAwal + 30
End If
Next i
ActiveSheet.VPageBreaks(1).DragOff xlToRight, 1
End Sub

Asumsi range print area = "A2:F571"
Asumsi setiap pages mempunyai 30 row

Hal diatas dapat dibuat dinamis menggunakan deklarasi variabel ke
range di activesheet atau melalui input box.

CMIIW

Blessings,

Fran'z

On 6/17/11, Sudarsono Suhenk <jkss...@gmail.com <mailto:jkssbma%40gmail.com>
> wrote:
> Sub uf_PageBreak(ByVal strdaerah As String, antarbaris As Long)
> Dim awalbaris As Long
> Dim jumbaris, kali_PB As Long
> Dim daerah As Range
>
> Set daerah = Range(strdaerah)
> awalbaris = daerah.Row
>
> jumbaris = daerah.Rows.Count
>
> kali_PB = Excel.WorksheetFunction.RoundUp(jumbaris / antarbaris, 0)
> ActiveSheet.ResetAllPageBreaks
> For I = 1 To kali_PB
> Range("A" & awalbaris + (I * antarbaris) + 1).Select
>
> ActiveWindow.SelectedSheets.HPageBreaks.Add before:=ActiveCell
> Next I
> End Sub
> Sub test()
> Call uf_PageBreak("A10:C82", 15)
> End Sub
>
>
> Pada 17 Juni 2011 06:13, Franciscus SOG <jclu...@gmail.com
<mailto:jclugbu%40gmail.com> > menulis:
>
>>
>>
>> Dear Anto,
>>
>> Permintaan Anda itu mungkin dilakukan.
>>
>> Untuk set print area, jika Anda menginginkan setiap 30 baris data
>> menjadi next page. Maka Anda perlu insert 1 row sebagai pembatas.
>> Karena ("A1:A30","A31:A60") dibaca menjadi ("A1:A60").
>>
>> Dampak dari insert row tersebut bisa mempengaruhi hasil di worksheet
>> Anda. Apalagi jika cells Anda sudah tidak sehat (misalnya di merge
>> cells).
>>
>> Maaf, saya belum bisa memberikan solusi, karena saya terbentur dengan
>> logika memecah range ("A1:A100") menjadi
>> ("A1:A30","A32:A61","A63:A92","A94:A103").
>>
>> Untuk codingnya sendiri, defaultnya seperti ini :
>>
>> ActiveSheet.PageSetup.PrintArea = Areaku
>>
>> Areaku merupakan lokasi yang diselect dan sudah dipecah seperti contoh
>> diatas.
>>
>> Blessings,
>>
>> Fran'z
>>
>>
>> On 6/17/11, Nicodemus Rusdiyanto <nicode...@cj.net
<mailto:nicodemus%40cj.net> > wrote:
>> > Dear All,
>> >
>> > Ada yang punya pengalaman dan cara meng-otomatiskan print area range
>> sesuai
>> > dengan data yang dikehendaki, tanpa harus drag per page ?
>> > Misal di data ini saya mau cetak dengan kriteria sorting ZONE NO =>
>> LOCATION
>> > => CATEGORY => PRODUCT NO (ini baru urutan datanya dulu)
>> > Setelah itu pada saat cetak, bisa diotomatiskan dipisahkan sesuai ZONE
>> > NO
>> > atau tidak ?
>> > Jadi kalau 1 zone punya 100 product, per page harus 30, maka akan jadi
4
>> > page, dengan page terakhir hanya berisi 10 product tidak masalah.
>> >
>> > Mohon pencerahan dan complainnya kalau case-nya kurang jelas :D
>> >
>> > Thanks,
>> > Anto
>> >
>> > The message is ready to be sent with the following file or link
>> attachments:
>> >
>> > SET_PRINT_AREA_AUTO
>> >
>> >
>> > Note: To protect against computer viruses, e-mail programs may prevent
>> > sending or receiving certain types of file attachments. Check your
>> > e-mail
>> > security settings to determine how attachments are handled.
>> >
>>
>>
>>
>



Kirim email ke