Page 1 of 1

การ Break Page อย่างรวดเร็ว

Posted: Tue Sep 18, 2012 11:55 am
by ChoBkuN
สวัสดีครับทุกท่าน ผมสอบถามเรื่องการ Break Page อย่างรวดเร็วครับ
ผม เอาข้อมูลออกมาจากระบบบัญชี และต้องการ print งานข้อมูลออกมาเป็นชุดๆ
เลยอยากทราบวิธี Break Page อย่างรวดเร็ว ครับ
มีไฟล์ตัวอย่างแนบมาครับ

Re: การ Break Page อย่างรวดเร็ว

Posted: Tue Sep 18, 2012 12:11 pm
by snasui
:D คลิกขวาลงในเซลล์ที่ต้องการแบ่งหน้าแล้วเลือก Insert page break ตามภาพด้านล่างครับ

Re: การ Break Page อย่างรวดเร็ว

Posted: Tue Sep 18, 2012 12:19 pm
by ChoBkuN
มันมีวิธี Break หลายๆ row พร้อมกันไหมครับ
ตอนแรกผมเลือก column A แล้ว เลือก Select go to special เลือก Number
Excel ก็จะเลือก ช่องใน Column A ที่มีเลขทุกช่อง
แล้วคราวนี้จะ Break พร้อมๆกัน เราจะทำได้อย่างไรครับ

Re: การ Break Page อย่างรวดเร็ว

Posted: Tue Sep 18, 2012 12:56 pm
by snasui
:D ทำพร้อมกันหลาย ๆ Row คงต้องพึ่งการ Loop ด้วย VBA ครับ :mrgreen:

Re: การ Break Page อย่างรวดเร็ว

Posted: Wed Sep 19, 2012 8:44 am
by ChoBkuN
สงสัยต้องพึ่งอากู๋ ซะแล้ว !!

Re: การ Break Page อย่างรวดเร็ว

Posted: Wed Sep 19, 2012 9:20 am
by ChoBkuN
ผมเจอสูตรคล้ายๆกับว่าให้ PageBreak ในที่ selected cell
เลยลองเขียนในลักษณะที่ว่า
Public Sub PageBreak()
Worksheets("Quickbook").HPageBreaks.Add Before:=ActiveCell
ชีทที่จะให้ทำงาน.สิ่งที่จะให้ทำ(pagebreak).ให้breakก่อน := cell ที่เลือกไว้
End Sub

แต่มันใช้ไม่ได้
ไม่ทราบว่าผมเขียนผิดไปเยอะมากหรือเปล่าครับ ??

Re: การ Break Page อย่างรวดเร็ว

Posted: Wed Sep 19, 2012 9:54 am
by niwat2811
ลองแบบนี้ดู ไม่ทราบว่าจะตรงกับความต้องการไหมครับ

Code: Select all

Sub PageBreak1()
Dim r As Range
Dim lr As Range
With Sheets("ตัวอย่างข้อมูลตอนแรก")
    Set lr = .Range("A8", .Range("A" & Rows.Count).End(xlUp))
    For Each r In lr
        If r <> "" Then
            ActiveWindow.SelectedSheets.HPageBreaks.Add before:=r.Cells
        End If
    Next r
End With
End Sub

Re: การ Break Page อย่างรวดเร็ว

Posted: Wed Sep 19, 2012 10:09 am
by ChoBkuN
ตรงครับ ขอบคุณครับ
ผมจะเอาไปประยุกต์ใช้งานของผมคือ ต้องแก้ตรงไหนบ้างครับ

Sub PageBreak1()
Dim r As Range
Dim lr As Range
With Sheets("เป็นชื่อชีทของผม")
Set lr = .Range("ถัดลงมา cell แรกของที่มีตัวเลข", .Range("column เดียวกับ cell นั้นๆ" & Rows.Count).End(xlUp))
For Each r In lr
If r <> "" Then
ActiveWindow.SelectedSheets.HPageBreaks.Add before:=r.Cells
End If
Next r
End With
End Sub

หรือเปล่าครับ (ลองแล้วยังไม่ได้เลยถามอีกทีครับ)

Re: การ Break Page อย่างรวดเร็ว

Posted: Wed Sep 19, 2012 10:14 am
by niwat2811
ผมใช้กับ excel 2010 ก็ใช้ได้เลยนะครับ ไม่ต้องแก้ไขอะไรเพียงแก้ชื่อชีทแค่นั้นเองครับ

Re: การ Break Page อย่างรวดเร็ว

Posted: Wed Sep 19, 2012 10:43 am
by ChoBkuN
ok ได้แล้วครับ
ผมต้องแก้ ตัว sheet ของผมให้เป็น 100% ก่อน ถึงจะทำได้
ขอบคุณครับ

Re: การ Break Page อย่างรวดเร็ว

Posted: Wed Sep 19, 2012 11:00 am
by snasui
ChoBkuN wrote:ตรงครับ ขอบคุณครับ
ผมจะเอาไปประยุกต์ใช้งานของผมคือ ต้องแก้ตรงไหนบ้างครับ

Sub PageBreak1()
Dim r As Range
Dim lr As Range
With Sheets("เป็นชื่อชีทของผม")
Set lr = .Range("ถัดลงมา cell แรกของที่มีตัวเลข", .Range("column เดียวกับ cell นั้นๆ" & Rows.Count).End(xlUp))
For Each r In lr
If r <> "" Then
ActiveWindow.SelectedSheets.HPageBreaks.Add before:=r.Cells
End If
Next r
End With
End Sub

หรือเปล่าครับ (ลองแล้วยังไม่ได้เลยถามอีกทีครับ)
:D ควรโพสต์ Code ให้เป็น Code เพื่อสะดวกในการอ่าน โดยดูตัวอย่างได้จากที่นี่ครับ viewtopic.php?f=3&t=1187

Re: การ Break Page อย่างรวดเร็ว

Posted: Sat Apr 20, 2019 2:05 am
by chakkrit chantawan
แล้วการยกเลิก Break Page อย่างรวดเร็ว ต้องไปแก้ไขคำสั่งบรรทัดไหน อย่างไรครับ

Re: การ Break Page อย่างรวดเร็ว

Posted: Sat Apr 20, 2019 6:55 am
by snasui
:D ดูวิธีการเข้าผ่านเมนูที่นี่ครับ https://support.office.com/en-ie/articl ... 640612bdc2 หากต้องการ Loop ไปทุก ๆ ชีตให้ลองเขียน VBA มาก่อน ติดตรงไหนค่อยถามกันต่อครับ

Re: การ Break Page อย่างรวดเร็ว

Posted: Sat Apr 20, 2019 6:34 pm
by chakkrit chantawan
ผมฝึกหัดเขียน VBA ครับ
(ลองแก้ไขบรรทัด ActiveWindows...โดยเปลี่ยนจาก Add เป็น Delete ได้ไหมครับ)

Sub UnPageBreak1()
Dim r As Range
Dim lr As Range
With Sheets("sheet1")
Set lr = .Range("A8", .Range("A" & Rows.Count).End(xlUp))
For Each r In lr
If r <> "" Then
ActiveWindow.SelectedSheets.HPageBreaks.Delete before:=r.Cells
End If
Next r
End With
End Sub

Re: การ Break Page อย่างรวดเร็ว

Posted: Sat Apr 20, 2019 6:50 pm
by snasui
:D ลองแล้วได้ผลเป็นอย่างไรบ้างครับ :?:

การโพสต์ Code ให้แสดงเป็น Code กรุณาดูตัวอย่างที่กฎข้อ 5 ด้านบน :roll: เพื่อให้แตกต่างจากข้อความทั่วไปและสะดวกในการคัดลอกไปทดสอบครับ

หากยังติดปัญหาให้แนบไฟล์ที่มีปัญหามาถามกันจะได้ตอบได้ตรงประเด็นครับ

Re: การ Break Page อย่างรวดเร็ว

Posted: Sun Apr 21, 2019 8:40 am
by chakkrit chantawan
ได้แล้วครับ
ขอบคุณมากครับ
ใช้คำสั่ง Reset All ง่ายกว่าครับ
(เดิมใช้ excel 2003 ไม่มีคำสั่งนี้ เปลี่ยนไปใช้ 2007 มีคำสั่งนี้)