Page 1 of 1
สอบถาม SumIfs ใน VBA ครับ
Posted: Sun Dec 03, 2017 12:04 pm
by lnongkungl
จากไฟล์แนบครับ ผมต้องการนำข้อมูลจาก sheet import ที่กรอก และจะ sumifs ไปยัง sheet stock ครับ แต่มัน error ครับ รบกวนชี้แนะด้วยครับ ทุกท่าน
Code: Select all
Sub save()
Dim pot As Range
Dim sent As Double
Set pot = Range("B2", Range("B" & Rows.Count).End(xlUp))
Set sent = Worksheets("Stock").Range("E2:E18")
sent = Application.WorksheetFunction.SumIfs(pot, pot.Offset(0, -1), sent.Offset(0, -2))
End Sub
Re: สอบถาม SumIfs ใน VBA ครับ
Posted: Sun Dec 03, 2017 4:13 pm
by puriwutpokin
ลองดูนะครับ
Code: Select all
Sub save()
Dim pot As Range
Dim sent As Range
With Sheets("stock")
For i = 2 To .Range("A" & .Rows.Count).End(xlUp) + 1
Set pot = Range("B2", Range("B" & Rows.Count).End(xlUp))
Set sent = Worksheets("Stock").Range("E" & i)
sent = Application.WorksheetFunction.SumIf(pot.Offset(0, -1), sent.Offset(0, -2), pot)
Next
End With
End Sub
Re: สอบถาม SumIfs ใน VBA ครับ
Posted: Wed Dec 06, 2017 11:01 am
by lnongkungl
ขอบคุณครับ เดี๋ยวลองเอาไป ปรับใช้ดู ได้ผลยังไง เดี๋ยวจะมารายงานครับ
Re: สอบถาม SumIfs ใน VBA ครับ
Posted: Sat Dec 16, 2017 4:43 pm
by lnongkungl
มาแล้วครับ หลังจากที่มัวแต่ไปทำงานอื่น
code ที่ปรับให้ให้ได้ครับ แต่ผมลองเอาไปใส่ไฟล์จริง กลับไม่มีอะไรเกิดขึ้นเลย หรือผมปรับอะไรผิด รบกวนช่วยแนะนำทีครับ
ผมต้องการเอาข้อมูล หน้ารับสินค้าที่ปุ่ม save ไปใส่หน้า Stock ที่ คอลัม G (รับเข้า) แต่พอกด save แล้ว มันไม่มีอะไรเกิดขึ้นเลยครับ
ไม่ error ไม่อะไรเลย นิ่งๆ เลย
Code: Select all
Sub save()
Dim pot As Range
Dim sent As Range
With Sheets("stock")
For i = 5 To .Range("B" & .Rows.Count).End(xlUp) + 1
Set pot = Range("C5", Range("C" & Rows.Count).End(xlUp))
Set sent = Worksheets("Stock").Range("G" & i)
sent = Application.WorksheetFunction.SumIf(pot.Offset(0, -1), sent.Offset(0, -4), pot)
Next
End With
End Sub
Re: สอบถาม SumIfs ใน VBA ครับ
Posted: Sat Dec 16, 2017 8:00 pm
by puriwutpokin
lnongkungl wrote:มาแล้วครับ หลังจากที่มัวแต่ไปทำงานอื่น
code ที่ปรับให้ให้ได้ครับ แต่ผมลองเอาไปใส่ไฟล์จริง กลับไม่มีอะไรเกิดขึ้นเลย หรือผมปรับอะไรผิด รบกวนช่วยแนะนำทีครับ
ผมต้องการเอาข้อมูล หน้ารับสินค้าที่ปุ่ม save ไปใส่หน้า Stock ที่ คอลัม G (รับเข้า) แต่พอกด save แล้ว มันไม่มีอะไรเกิดขึ้นเลยครับ
ไม่ error ไม่อะไรเลย นิ่งๆ เลย
Code: Select all
Sub save()
Dim pot As Range
Dim sent As Range
With Sheets("stock")
For i = 5 To .Range("B" & .Rows.Count).End(xlUp) + 1
Set pot = Range("C5", Range("C" & Rows.Count).End(xlUp))
Set sent = Worksheets("Stock").Range("G" & i)
sent = Application.WorksheetFunction.SumIf(pot.Offset(0, -1), sent.Offset(0, -4), pot)
Next
End With
End Sub
ปรับเป็น
Code: Select all
Sub save()
Dim pot As Range
Dim sent As Range
With Sheets("stock")
For i = 4 To .Range("B1", .Range("B4").End(xlDown)).Rows.Count
Set pot = Range("C5", Range("C" & Rows.Count).End(xlUp))
Set sent = Worksheets("Stock").Range("G" & i)
sent = Application.WorksheetFunction.SumIf(pot.Offset(0, -1), sent.Offset(0, -4), pot)
Next
End With
End Sub
Re: สอบถาม SumIfs ใน VBA ครับ
Posted: Mon Dec 18, 2017 10:54 am
by lnongkungl
ได้แล้วครับ ขอบคุณครับ แต่ผมรบกวน อธิบายความต่างให้ทีครับ
For i = 5 To .Range("B" & .Rows.Count).End(xlUp) + 1 = Row ที่ 5 ใน column B นับขึ้น +1 ถูกต้องมั้ยครับ
กับ
For i = 4 To .Range("B1", .Range("B4").End(xlDown)).Rows.Count = Row 4 แล้วทำไมต้องเป็น B1 ครับ แล้วก็ B4 ซึ่งข้อมูล เริ่มต้นที่ B5
รบกวนอธิบายเพิ่มเติมหน่อยนะครับ ผมไม่ค่อยเข้าใจ จะได้กระจ่างและไปปรับใช้ต่อไปครับ
ขอบคุณครับ