Page 1 of 1

Macro : อยากให้โชว์ค่า 2 Column

Posted: Mon Nov 18, 2019 4:16 pm
by wisitsakbenz
หลังจากที่กรอกข้อมูล แล้ว Click button 4 ข้อมูลจะแสดงใน Sheet "Forms"

1.โดยข้อมูลจะไม่แสดงค่าที่เป็นค่าว่าง
2.Column แรก จะเอาข้อมูลจาก Columb B ใน Sheet "input"
3. จะแยก column เป็น Package และ Additional

ต้องปรับ Code อย่างไรบ้างครับอาจารย์ ขอบคุณครับ

Re: Macro : อยากให้โชว์ค่า 2 Column

Posted: Mon Nov 18, 2019 7:45 pm
by snasui
:D ตัวอย่าง Code ครับ

Code: Select all

Dim rall as Range, r As Range, i As Integer
Dim arr(99, 4) As Variant
With Sheets("Input")
    Set rall = .Range("c3", .Range("c" & .Rows.Count).End(xlUp))
    i = 2
    For Each r In rall
        If r.MergeCells Then
            i = i + 1
        End If
        If r.Value + r.Offset(0, 1).Value > 0 Then
            If r.Offset(0, -1).Value <> "" Then
                arr(i, 0) = r.Offset(0, -1).Value
            Else
                arr(i, 0) = r.Offset(0, -2).Value
            End If
            If r.Value > 0 Then
                arr(i, 3) = r.Value
            End If
            If r.Offset(0, 1).Value > 0 Then
                arr(i, 4) = r.Offset(0, 1).Value
            End If
            i = i + 1
        End If
    Next r
End With
With Worksheets("Forms")
    If i > 0 Then
        .Range("a:e").Clear
        .Range("a1:e1").Value = Array("Detail Estimate", "", "", _
            "Package", "Additional")
        .Range("a2").Resize(i, 5).Value = arr
    End If
End With

Re: Macro : อยากให้โชว์ค่า 2 Column

Posted: Tue Nov 19, 2019 2:12 pm
by wisitsakbenz
อาจารย์ครับในส่วนที่ 2 อยากให้โชว์ผลรวมได้หรือไม่ครับ และเพิ่มเติมในส่วนที่ 3 เข้ามาด้วยครับ

ไม่ทราบว่าต้องปรับ Code อย่่างไรบ้างครับ ขอบคุณครับ

Re: Macro : อยากให้โชว์ค่า 2 Column

Posted: Tue Nov 19, 2019 6:05 pm
by snasui
:D ในส่วนที่ 2 รวมกันด้วยเงื่อนไขใด โปรแกรมจะทราบได้อย่างไรว่าในส่วนนั้นจะต้องรวมลักษณะนั้น ทั้งจะทราบได้อย่างไรว่าจะวางจำนวนเงินในบรรทัดไหน ที่สำคัญคือกรุณาเขียนมาเองก่อน ติดตรงไหนค่อยถามกันต่อครับ

สำหรับในการปรับให้แสดงส่วนที่ 3 สามารถปรับ Code เป็นด้านล่างครับ

Code: Select all

'Other code
Dim arr(99, 4) As Variant, lr As Long
With Sheets("Input")
    lr = Application.Max(.Range("c" & .Rows.Count).End(xlUp).Row, _
        .Range("d" & .Rows.Count).End(xlUp).Row)     
    Set rall = .Range("c3:c" & lr)
'Other

Re: Macro : อยากให้โชว์ค่า 2 Column

Posted: Wed Nov 20, 2019 8:28 am
by wisitsakbenz
อาจารย์ครับ พอนำไปใส่ใน Wookbook ที่ใช้งานจริง มันขึ้น error ครับ

ค่า r.Value = total

ซึ่งจริงๆ แล้วจะต้องเป็นค่าตัวเลขที่อยู่ในช่อง C18
ผมทำผิดตรงไหนหรือไม่ครับอาจารย์
รบกวนอาจารย์ด้วยครับ ขอบคุณครับ

Re: Macro : อยากให้โชว์ค่า 2 Column

Posted: Wed Nov 20, 2019 9:51 am
by wisitsakbenz
ขอบคุณครับ

Re: Macro : อยากให้โชว์ค่า 2 Column

Posted: Wed Nov 20, 2019 7:12 pm
by snasui
:D เข้าใจว่าไม่ได้ผิด แต่ว่าไฟล์จริงมีข้อมูลไม่เหมือนตัวอย่าง จาก Error ที่จับภาพมาจะต้องตรวจสอบเพิ่มว่าหากเจอเป็นค่า Text จะต้องไม่ดำเนินการใด ๆ แต่หากเป็นตัวเลขจึงจะดำเนินการต่อครับ