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

Code: Select all

 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
:D จาก 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 ของตาราง)
ขอบคุณครับ