Page 1 of 1

แสดงข้อมูลหน้า Forms ตามเงื่อนไข

Posted: Fri Apr 04, 2025 2:14 pm
by wisitsakbenz
เรียน อาจารย์

ป้อนข้อมูลใน Q1-Q5 หรืออาจจะไม่ป้อนทั้งหมด แล้วคลิกปุ่ม Preview หลังจากนั้นข้อมูลจะถูกใส่ใน Sheet "Forms"
1. ต้องการให้ในแต่ละ Question มีเว้นบรรทัดประมาณ 20 บรรทัด แล้วค่อยขึ้น Question ใหม่
2. Default ในหน้า Forms มีแค่หน้าเดียว หากใน 1 หน้าไม่พอ ให้แสดงหัวข้อใหม่ในหน้าใหม่
3. จัดรูปแบบเส้นขอบตามหน้าแรก (ตาม Sheet ที่ต้องการ)
ต้องปรับ Code อย่างไรครับ ขอบคุณครับ

Code: Select all

Sub Preview()

'Define abbreviations for worksheets
    Dim WI As Worksheet
    Dim WF As Worksheet
    Set WI = Worksheets("Input")
    Set WF = Worksheets("Forms")
       
    
'Detailed Question
    Dim AmountCell1 As Range
    Dim HeadingRow1 As Integer
    Dim CurrentRow1 As Integer
         
    HeadingRow1 = WF.Range("FormsFirstLine1").Row
    CurrentRow1 = HeadingRow1
    
    For Each AmountCell1 In WI.Range("Question").Cells
        If AmountCell1 <> "" Then
            WF.Cells(HeadingRow1, 6) = ""
            CurrentRow1 = CurrentRow1 + 1
            WF.Cells(CurrentRow1, 2) = AmountCell1.Text
            CurrentRow1 = CurrentRow1 + 20

        End If
    Next    
End Sub


Re: แสดงข้อมูลหน้า Forms ตามเงื่อนไข

Posted: Fri Apr 04, 2025 3:16 pm
by snasui
:D ที่เขียนเอาไว้แล้วมีปัญหาอะไรครับ :?:

สำหรับการทำงานตามที่อธิบายมา เพื่อให้ง่ายควรสร้าง Template ที่มีการจัดรูปแบบเอาไว้เรียบร้อยแล้วเพื่อพร้อมใช้งาน จากนั้นจะ Loop Question ไปวางใน Template แล้ว Copy Template ไปวางยังบรรทัดล่างของข้อมูลก่อนหน้า จะได้ไม่ต้องทำไปจัด Format ไป

สำหรับการแสดงผลเมื่อ Preview จะต้องไปจัดการเรื่อง Print Area และการจัด Layout โดยให้ Set Print Area ถึงข้อมูลในหน้าสุดท้าย หากต้องการให้แสดงผลและ Print ให้พอดีหน้า จะต้องมีการกำหนดความสูงข้อมูลให้เท่ากับจำนวนรายการ สิ่งที่ควรทราบเพิ่มเติมคือ Page Setup อยู่ภายใต้เมนู Page Layout และ Scale to Fit อยู่ภายใต้เมนู Page Layout เช่นกัน

สำหรับ Scale to Fit ให้กำหนด Width เป็น 1 และ กำหนด Height ให้มีจำนวนหน้าเท่ารายการ Question ที่มี