Page 1 of 1
VBA Error การ Resize Table จาก Filter และสอบถาม Print Area
Posted: Fri Jul 20, 2018 12:03 am
by primeval
Code: Select all
180 startRow = tblFiltered.HeaderRowRange.Row
'Find last row on Filtered tab (deduct 1 since Advanced filter retrieves the headers)
190 lastRow = wsOP.Columns(2).Find("*", , , , xlByRows, xlPrevious).Row - 1
'If the last raw is greater than the Header row, resize the Filtered table and delete the retrieved Headers (which will be in the first row of the Filtered table)
200 If lastRow > startRow Then
210 Set resizeRng = Range("table2[#All]").Resize(tblFiltered.Range.Rows.Count + (lastRow - startRow), tblFiltered.Range.Columns.Count)
220 tblFiltered.Resize resizeRng
230 tblFiltered.ListRows(11).Delete
ติดปัญหา Error เวลา Filter จาก Slicer ทีละรายการ Error SubsCript out of range 9 แต่เวลาเลือก All ทั้งหมดสามารถแสดงผลได้ครับ
Code: Select all
180 startRow = tblFiltered.HeaderRowRange.Row
สอบถามการ Print Area Auto จากการ Auto จะยึดจาก Cell A8 ลงมาต้องทำอย่างไรครับ
ขอบคุณครับ
Re: VBA Error การ Resize Table จาก Filter และสอบถาม Print Area
Posted: Fri Jul 20, 2018 6:31 am
by snasui

จาก Code
tblFiltered.ListRows(11).Delete เป็นการลบบรรทัดที่ 11 ของ Table ซึ่งไม่มี ในไฟล์ที่แนบมา Table มีแค่ 3 บรรทัด จะไปลบรรทัดที่ 11 ไม่ได้ครับ
ต้องการ Set Print Area จาก A11 หรือจากไหนก็ต้องกำหนดขอบเขตพื้นที่ของข้อมูลให้โปรแกรมรู้จักครับ เช่น
Code: Select all
With Sheets("Output")
.PageSetup.PrintArea = .Range("a8", .Range("l" & .Rows.Count).End(xlUp))
End With
Re: VBA Error การ Resize Table จาก Filter และสอบถาม Print Area
Posted: Fri Jul 20, 2018 5:09 pm
by primeval
ขอบคุณครับขอถาม เกี่ยวกับ Print Area ต่อเลยไปเห็นวิธีไม่ต้องใช้ VBA โดยการ Set Offset Name Manager
ติดปัญหาสูตรต้องการ Print เฉพาะ A8:L โดยมีการ Custom Print Area เวลา FIlter ข้อมูล แต่ในสูตรมีการ Print Area เมนูข้างบนมาด้วย
=OFFSET(Output!$A$8,0,0,COUNTA(Output!$L20:$L22),12)
Re: VBA Error การ Resize Table จาก Filter และสอบถาม Print Area
Posted: Fri Jul 20, 2018 5:44 pm
by astalavista
ที่ Name Manager ลองกำหนด DynPrint --- Refers to:==OFFSET(Output!$A$8,0,0,ROWS(Table2)+4,12)
(4 มาจาก 3 บรรทัดเป็น header ของรายงาน + 1 column ของตาราง)
Re: VBA Error การ Resize Table จาก Filter และสอบถาม Print Area
Posted: Fri Jul 20, 2018 6:24 pm
by primeval
astalavista wrote: Fri Jul 20, 2018 5:44 pm
ที่ Name Manager ลองกำหนด DynPrint --- Refers to:==OFFSET(Output!$A$8,0,0,ROWS(Table2)+4,12)
(4 มาจาก 3 บรรทัดเป็น header ของรายงาน + 1 column ของตาราง)
ขอบคุณครับ