Page 1 of 1

รบกวนดู Code vba ทีครับ

Posted: Thu Jan 26, 2012 2:07 pm
by snoopy1150
เพื่อน ๆ ทุกท่าน ครับ

รบกวนช่วยดู Code ให้หน่อยครับ เนื่องจากพอรันแล้วข้อมูล Show ไม่ครบครับ

Re: รบกวนดู Code vba ทีครับ

Posted: Thu Jan 26, 2012 2:15 pm
by snasui
:D ช่วยอธิบายด้วยครับว่าต้องการทำอะไร ปัญหาคืออะไร ต้องการผลลัพธ์อย่างไร

Re: รบกวนดู Code vba ทีครับ

Posted: Thu Jan 26, 2012 2:27 pm
by snoopy1150
คืออย่างนี้ครับ ผมต้องการให้ Sheet "Print" ช่อง C2 เลือกวันที่ แล้วให้ข้อมูลใน sheet "Database" มา Show ในหน้า Print ครับ
ผมลองทำแล้วแต่ Show ออกมาไม่ครบครับ

Re: รบกวนดู Code vba ทีครับ

Posted: Thu Jan 26, 2012 2:38 pm
by snasui
:D ใช้ Code ด้านล่างนี้แทน Code เดิมซึ่งเป็นการใช้ Array ซึ่งไม่ง่ายต่อการทำความเข้าใจครับ

Code: Select all

Sub ShowEmp()
    Dim rAll As Range, r As Range
    Dim rt As Range, lng As Long
    Application.EnableEvents = False
    With Sheets("Database")
         Set rAll = .Range("A3", .Range("A" & Rows.Count).End(xlUp))
    End With
    With Sheets("Print")
        If .Range("B4") <> "" Then
            .Range("B4", .Range("G" & Rows.Count).End(xlUp)).ClearContents
        End If
    End With
    For Each r In rAll
        With Sheets("Print")
            If r = .Range("C1") Then
                Set rt = .Range("B" & Rows.Count).End(xlUp).Offset(1, 0)
                lng = lng + 1
                rt = lng
                rt.Offset(0, 1) = r.Offset(0, 1)
                rt.Offset(0, 2) = r.Offset(0, 3)
                rt.Offset(0, 3) = r.Offset(0, 4)
                rt.Offset(0, 4) = r.Offset(0, 5)
                rt.Offset(0, 5) = r.Offset(0, 7)
            End If
        End With
    Next r
    Application.EnableEvents = True
End Sub

Re: รบกวนดู Code vba ทีครับ

Posted: Thu Jan 26, 2012 2:54 pm
by snoopy1150
ขอบคุณมากครับ แถมได้ความรู้ใหม่ด้วยครับ