ต้องการปรินส์ตามลำดับที่สั่งครับ ด้วย vba
Posted: Sat May 07, 2022 5:07 pm
Code: Select all
Sub print11111()
'
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
End Sub
คลังคำตอบแห่งความรู้จากคนไทย เพื่อโลกที่ต้องการเข้าใจในสิ่งเล็ก ๆ อย่างลึกซึ้ง
https://www.snasui.com/
Code: Select all
Sub print11111()
'
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
End Sub
ขอโทษครับ อ. แนบไฟล์ผิดครับsnasui wrote: Sun May 08, 2022 8:24 amแนบไฟล์ที่มี Code มาด้วยครับ
ไฟล์ที่จะแนบ Code ได้อย่างน้อยจะต้องมีนามสกุลเป็น .xlsm, .xlsb ไม่ใช่ .xlsx ครับ
Code: Select all
'Other code
Dim i As Integer, j As Integer
With Worksheets("Sheet1")
For i = .Range("p9").Value To .Range("p10").Value
' ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
.PageSetup.PrintArea = .Range("g4").Offset(j, 0).Resize(7, 5).Address
.PrintOut
j = j + 8
Next i
End With
'Other code
ขอบคุณครับ อ. สอบถามเพิ่มเติมครับsnasui wrote: Mon May 09, 2022 5:28 pmตัวอย่างการปรับ Code ครับ
Code: Select all
'Other code Dim i As Integer, j As Integer With Worksheets("Sheet1") For i = .Range("p9").Value To .Range("p10").Value ' ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _ IgnorePrintAreas:=False .PageSetup.PrintArea = .Range("g4").Offset(j, 0).Resize(7, 5).Address .PrintOut j = j + 8 Next i End With 'Other code
Code: Select all
.PageSetup.PrintArea = .Range("g4").Offset(j, 0).Resize(7, 5).Address
j = j + 8หมายถึงให้ปรับค่า j โดยเพิ่มไปทีละ 8 เพื่อจะนำค่า j ไปใช้ตามบรรทัดบนครับ
ขอบคุณครับ อ.snasui wrote: Tue May 10, 2022 1:41 pmหมายถึงให้แสดงตำแหน่งของ g4 หลังจากย้ายไปด้านล่าง j บรรทัด ไปด้านขวา 0 คอลัมน์และขยายพื้นที่เป็น 7 บรรทัด 5 คอลัมน์ครับ
หมายถึงให้ปรับค่า j โดยเพิ่มไปทีละ 8 เพื่อจะนำค่า j ไปใช้ตามบรรทัดบนครับ