Page 1 of 1

เก็บยอดขาย รายวัน แยกชีท ด้วย VBA

Posted: Tue Jan 02, 2024 4:58 pm
by babyminds
ต้องการนำข้อมูลยอดขายในชีท Data ไปเรียงแยกชีทตามวันที่ครับ เช่นชีท FX เป็นวันที่ 1/1/24 ก็เอาข้อมูลในชีท Data ไปวางตามชีทตามวันที่ที่ตรงกัน

Code: Select all

Sub Macro3()
'
' Macro3 Macro
'

'
    Sheets("FX").Select
    Sheets("Data").Visible = True
    Range("F4:F13").Select
    Selection.Copy
    Sheets("Sale").Select
    Range("B4").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Sheets("Data").Select
    Range("G4:G13").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Ticket").Select
    Range("B4").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Sheets("Data").Select
    Range("H4:H13").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Brand").Select
    Range("B4").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Sheets("Data").Select
    ActiveWindow.SelectedSheets.Visible = False
    Range("B1").Select
    Application.CutCopyMode = False
End Sub
ต้องปรับแก้ตรงไหนครับ
Testt.xlsb

Re: เก็บยอดขาย รายวัน แยกชีท ด้วย VBA

Posted: Tue Jan 02, 2024 5:39 pm
by puriwutpokin
ที่ชีทData วันที่และข้อมูล ไม่มีครับมีแต่ข้อมูลชุดเดียวไม่มีการอ้างถึงวันที่ ลองทำข้อมูลตัวอย่างมาอีกที่ครับจะได้เข้าใจตรงกันครับ

Re: เก็บยอดขาย รายวัน แยกชีท ด้วย VBA

Posted: Tue Jan 02, 2024 5:45 pm
by babyminds
puriwutpokin wrote: Tue Jan 02, 2024 5:39 pm ที่ชีทData วันที่และข้อมูล ไม่มีครับมีแต่ข้อมูลชุดเดียวไม่มีการอ้างถึงวันที่ ลองทำข้อมูลตัวอย่างมาอีกที่ครับจะได้เข้าใจตรงกันครับ
วันที่อ้างอิงจากชีท FX ครับ

ข้อมูลในชีท Data ครับ
Colum Sale ก้อเอาไปวางในชีท Sale Colum Ticket ก้อเอาไปวางในชีท Ticket Colum Brand ก้อเอาไปวางในชีท Brand

Re: เก็บยอดขาย รายวัน แยกชีท ด้วย VBA

Posted: Tue Jan 02, 2024 6:07 pm
by puriwutpokin
ลองปรับตามนี้ดูครับ

Code: Select all

Sub Macro1()
Dim x As Integer
    Sheets("Data").Visible = True
    x = Application.Match(Sheets("วันที่").Range("a1"), Sheets("ยอดขาย").Range("a3:k3"), 0)
    Sheets("Data").Range("F4:F13").Copy
    Sheets("ยอดขาย").Cells(4, x).PasteSpecial Paste:=xlPasteValues
    Sheets("Data").Range("G4:G13").Copy
    Sheets("ใบเสร็จ").Cells(4, x).PasteSpecial Paste:=xlPasteValues
    Sheets("Data").Range("H4:H13").Copy
    Sheets("Brand").Cells(4, x).PasteSpecial Paste:=xlPasteValues
    Application.CutCopyMode = False
    Sheets("Data").Visible = False
End Sub

Re: เก็บยอดขาย รายวัน แยกชีท ด้วย VBA

Posted: Tue Jan 02, 2024 6:13 pm
by babyminds
puriwutpokin wrote: Tue Jan 02, 2024 6:07 pm ลองปรับตามนี้ดูครับ

Code: Select all

Sub Macro1()
Dim x As Integer
    Sheets("Data").Visible = True
    x = Application.Match(Sheets("วันที่").Range("a1"), Sheets("ยอดขาย").Range("a3:k3"), 0)
    Sheets("Data").Range("F4:F13").Copy
    Sheets("ยอดขาย").Cells(4, x).PasteSpecial Paste:=xlPasteValues
    Sheets("Data").Range("G4:G13").Copy
    Sheets("ใบเสร็จ").Cells(4, x).PasteSpecial Paste:=xlPasteValues
    Sheets("Data").Range("H4:H13").Copy
    Sheets("Brand").Cells(4, x).PasteSpecial Paste:=xlPasteValues
    Application.CutCopyMode = False
    Sheets("Data").Visible = False
End Sub
ชีท FX พอเปลี่ยนวันที่เป็นวันที่ 2 แล้วบันทึก มันก้อยังไปบันทึกวันที่ 1 อะครับ

Re: เก็บยอดขาย รายวัน แยกชีท ด้วย VBA

Posted: Tue Jan 02, 2024 6:32 pm
by puriwutpokin
แนบไฟล์ล่าสุดที่มีการใส่โค้ดและข้อมูลที่ว่าไม่มา มาดูครับ