Page 3 of 3
Re: เพิ่มข้อมูลใหม่
Posted: Mon Jan 19, 2015 12:02 pm
by san02551
พอสั่งพิมพ์ ข้อมูล ที่ Sheets print ครับ ข้อมูลจะมี 2 หน้า ครับ พอสั่งพิมพ์แล้วจะมีหน้าว่าง (หน้า 3-4 ) ขึ้นมาครับ ผมต้องการสั่งพิมพ์เฉพาะที่มีข้อมูลครับ
Code: Select all
Private Sub CommandButton1_Click()
Dim rAll As Range, r As Range
Application.EnableEvents = False
With Worksheets("print")
Set rAll = .Range("b1", .Range("b" & Rows.Count).End(xlUp))
End With
For Each r In rAll
If r = "" Then
r.EntireRow.Hidden = True
End If
Next r
With Worksheets("print")
rAll.Resize(, 15).PrintOut
.UsedRange.EntireRow.Hidden = False
End With
Application.EnableEvents = True
End Sub
Re: เพิ่มข้อมูลใหม่
Posted: Mon Jan 19, 2015 6:35 pm
by snasui
ตัวอย่างการปรับ Code ตามด้านล่างครับ
Code: Select all
Private Sub CommandButton1_Click()
Dim rAll As Range, r As Range
Application.EnableEvents = False
With Worksheets("print")
Set rAll = .Range("b1", .Range("b" & Rows.Count).End(xlUp))
End With
For Each r In rAll
If r = "" Then
r.EntireRow.Hidden = True
End If
Next r
With Worksheets("print")
.PageSetup.PrintArea = .Range("b6").CurrentRegion.Address
' rAll.Resize(, 15).PrintOut
.PrintOut
.UsedRange.EntireRow.Hidden = False
End With
Application.EnableEvents = True
End Sub
Re: เพิ่มข้อมูลใหม่
Posted: Wed Jan 21, 2015 6:43 am
by san02551
ผมต้องการพิมพ์เอกสารพร้อมกัน 2 Sheet คือ Sheet data และ Sheet print ครับ แต่ก็สั่งพิมพ์ได้ ครับ ลองปรับให้ผมหน่อยครับ
Code: Select all
Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
Sheets("data").Visible = True
Sheets("data").Select
ActiveSheet.PageSetup.PrintArea = "$b$5:$h$32"
ActiveWindow.SelectedSheets.PrintOut copies:=1, collate:=True
Sheets("data").Visible = True
Application.ScreenUpdating = True
'Êèǹ·ÕèÊÑ駾ÔÁ¾ì Sheet print
Dim rAll As Range, r As Range
Application.EnableEvents = False
With Worksheets("print")
Set rAll = .Range("b1", .Range("b" & Rows.Count).End(xlUp))
End With
For Each r In rAll
If r = "" Then
r.EntireRow.Hidden = True
End If
Next r
With Worksheets("print")
.PageSetup.PrintArea = .Range("b3").CurrentRegion.Address
' rAll.Resize(, 15).PrintOut
.PrintOut
.UsedRange.EntireRow.Hidden = False
End With
Application.EnableEvents = True
End Sub
Re: เพิ่มข้อมูลใหม่
Posted: Wed Jan 21, 2015 10:12 pm
by snasui
ถ้า Code ไม่มีปัญหาใดก็ไม่จำเป็นต้องปรับ เอาไว้มีปัญหาหรือคิดได้ว่าปัญหาคืออะไรค่อยมาถามกันอีกทีครับ
Re: เพิ่มข้อมูลใหม่
Posted: Thu Jan 22, 2015 10:43 am
by san02551
ปัญหาตอนนี้ คือ เวลาสั่งพิมพ์ จะใช้เวลาอ่านข้อมูลนานครับ เวลานำไปใช้งานจริงครับ
ข้อมูลที่ Sheet data มีประมาณ 40 แถว ครับ ข้อมูลที่ Sheet print มีประมาณ 130 แถว ครับ ตามไฟล์ที่แนบมาข้างต้น นั้น ก็ทำงานได้ครับ
Re: เพิ่มข้อมูลใหม่
Posted: Thu Jan 22, 2015 8:33 pm
by snasui
ข้อมูลเท่าที่บอกมาถือว่าเล็กน้อยมากและ Code นั้นไม่มีข้อบ่งชี้ใดว่าทำงานนาน
ลองนำไฟล์จริงมาเปลี่ยนข้อความสำคัญไปเป็นอย่างอื่นเพื่อให้เป็นไฟล์ตัวอย่างแล้วแนบมาดูกันครับ