Page 4 of 5
Re: สอบถามครับ การกำหนดค่าหลายตัวแปร
Posted: Tue Sep 11, 2018 9:07 am
by Leng
2.จากข้อมูลในข้อ 1 ยกตัวอย่างว่าหาก Scan Barcode ใด ด้วย Box ใดแล้วผ่าน อธิบายมาว่าเพราะเหตุใดจึงผ่าน
3.จากข้อมูลในข้อ 1 ยกตัวอย่างว่าหาก Scan Barcode ใด ด้วย Box ใดแล้วไม่ผ่าน อธิบายมาว่าเพราะเหตุใดจึงไม่ผ่าน
เหตุผลที่ Scan Barcode ใด ด้วย Box ใดแล้วผ่านหรือไม่ผ่าน
เพราะว่าการทำงานของผมคือผมอยากลงข้อมูลใน ไฟล์ datax ก่อนแล้วถึงไปทำงานในไฟล์ Needle - Copy ซึ่งผมอยากกำหนด barcode ให้ตรงกับเบอร์กล่องครับเหตุผลว่างานแต่ละกล่องที่มา barcode แต่ละกล่องจะไม่เหมือนกันครับและจำนวนbarcodeแต่ละกล่องก็ไม่เท่ากันครับผมกลัวว่าจะผิดกล่องผิดจำนวนครับเลยอยากกำหนด barcode ให้ตรงกับกล่องและจำนวนครับ
เช่นว่า
กล่องเบอร์ 1 ต้องมี จำนวน 10 ตัว และใน 10 ตัว ต้องมี จำนวนbarcodeตามนี้
001 ต้อง มี 2 ตัว ในกล่องเบอร์ 1
002 ต้อง มี 2 ตัว ในกล่องเบอร์ 1
003 ต้อง มี 2 ตัว ในกล่องเบอร์ 1
004 ต้อง มี 2 ตัว ในกล่องเบอร์ 1
005 ต้อง มี 2 ตัว ในกล่องเบอร์ 1
แต่หากมีบาร์โค๊ดใดเกินมาให้แจ้งเตือนครับโดยผมอยากกำหนดตามนี้
ต้องการให้ Barcode ที่อยู่ ใน cloum A ในไฟล์ datax สามารถ scan ได้ไม่เกิน ข้อมูลใน cloum f ในไฟล์ datax เพราะว่า ผมต้องการกำหนดว่าถ้า cloum G ในไฟล์ datax กล่อง เบอร์ 0001 ต้องมีผมรวมใน cloumH ในไฟล์ datax แต่ว่าในกล่องเบอร์ 0001ต้องมี Barcode ใน cloum Aในไฟล์ datax ไม่เกินข้อมูลใน cloum f ในไฟล์ datax ครับ

Re: สอบถามครับ การกำหนดค่าหลายตัวแปร
Posted: Tue Sep 11, 2018 6:59 pm
by snasui

สิ่งที่อธิบายมาไม่ได้ทำและไม่ได้ตอบในสิ่งที่ผมถามในโพสต์ #60 คงต้องรอให้ผู้ที่เข้าใจมาตอบครับ
Re: สอบถามครับ การกำหนดค่าหลายตัวแปร
Posted: Wed Sep 12, 2018 8:29 am
by Leng
อาจาร์ครับผมได้อธิบายอาจารย์ไปหมดแล้วครับ แต่คำถามอาจารย์ในข้อ #60 ผมก็ไม่เข้าใจครับตอนนี้ผมไม่รู้จะทำยังไง รบกวนอาจารย์ช่วยบอกด้วยนะครับ
Code: Select all
Dim rngBrcd As Range
Dim rngBox As Range
With Workbooks("Needle - Copy.xlsm").Worksheets("IN")
Set rngvlp = .Range("a2", .Range("d" & .Rows.Count).End(xlUp))
Set rngBrcd = rngvlp.Resize(, 1)
With Workbooks("DataX.xlsx").Worksheets("Sheet1")
Set rngBox = .Range("F2", .Range("F" & .Rows.Count).End(xlUp))
End With
With Application
If .CountIfs(rngBrcd, Me.TextBox5.Text, "< rngBox, Me.TextBox2.Text") Then
MsgBox "<Your message countifs>", vbInformation
Exit Sub
End If
End With
'With Workbooks("DataX.xlsx").Worksheets("Sheet1")
'Set rngvlp = .Range("a2", .Range("d" & .Rows.Count).End(xlUp))
'End With
'Other code
ต้องการให้ Barcode ที่อยู่ ใน cloum A ในไฟล์ datax สามารถ scan ได้ไม่เกิน ข้อมูลใน cloum f ในไฟล์ datax เพราะว่า ผมต้องการกำหนดว่าถ้า cloum G ในไฟล์ datax กล่อง เบอร์ 0001 ต้องมีผมรวมใน cloumH ในไฟล์ datax แต่ว่าในกล่องเบอร์ 0001ต้องมี Barcode ใน cloum Aในไฟล์ datax ไม่เกินข้อมูลใน cloum f ในไฟล์ datax ครับ
Re: สอบถามครับ การกำหนดค่าหลายตัวแปร
Posted: Wed Sep 12, 2018 2:37 pm
by logic
snasui wrote: Mon Sep 10, 2018 7:03 pm
ตัดไฟล์ DataX.xlsx มาเฉพาะข้อมูลบางส่วนเพียงไม่เกิน 10 รายการวัตถุประสงค์เพื่อข้อ 2 และ 3 เท่านั้น
คุณตัดข้อมูลมาตามที่อาจารย์บอกแล้วยังครับ ผมเห็นไฟล์ DataX แนบมาเป็นหมื่นรายการทุกไฟล์
snasui wrote: Mon Sep 10, 2018 7:03 pm
จากข้อมูลในข้อ 1 ยกตัวอย่างว่าหาก Scan Barcode ใด ด้วย Box ใดแล้วผ่าน อธิบายมาว่าเพราะเหตุใดจึงผ่าน
อฺันนี้อาจารย์ให้บอกมาว่า Barcode เบอร์ไหน Box ค่าเท่าใดที่คุณคีย์ใน Form แล้วมันต้องผ่านไปได้ คุณได้ยกตัวอย่างมาแล้วยัง นอกจากยกตัวอย่างแล้วต้องอธิบายว่าทำไมมันถึงผ่าน
อีกข้อคือบอกเบอร์ Barcode กับ Box ที่คีย์ใน Form แล้วต้องไม่ผ่านแล้วก็บอกด้วยว่ามันไม่ผ่านเพราะอะไร
Re: สอบถามครับ การกำหนดค่าหลายตัวแปร
Posted: Thu Sep 13, 2018 9:00 am
by Leng

ออผมเข้าใจแล้วครับก่อนอื่นต้องขอโทษอาจารย์และเพื่อนๆด้วยครับ
ตอนนี้ผมได้ตัดข้อมูลมาแล้วครับ
จากข้อมูลในข้อ 1 ยกตัวอย่างว่าหาก Scan Barcode ใด ด้วย Box ใดแล้วผ่าน อธิบายมาว่าเพราะเหตุใดจึงผ่าน
สาเหตุที่ผ่านคือ ข้อมูลในไฟล์ Needle - Copy.xlsm ได้มีการกำหนดไว้ว่าถ้า barcode ใน cloum A ในไฟล์ Datax ตรงกับเบอร์กล่อง ใน cloum E ในไฟล์ Datax จะสามารถ scan ได้ครับ
เช่น ถ้าลงข้อมูลในไฟล์ Datax ไว้แล้วว่า Barcode ใน Cloum A2 ว่า 123 และ ลงข้อมูลใน Box ใน Cloum E2 ว่า 1 แล้วไปทำในไฟล์ Needle - Copy.xlsm Box ต้องเป็น 1 และ Barcode ต้องเป็น 123 เท่านั้นถึงจะ scan ได้ครับ
จากข้อมูลในข้อ 1 ยกตัวอย่างว่าหาก Scan Barcode ใด ด้วย Box ใดแล้วผ่าน อธิบายมาว่าเพราะเหตุใดจึงผ่าน
สาเหตุที่ไม่ผ่านคือ ข้อมูลในไฟล์ Needle - Copy.xlsm ได้มีการกำหนดไว้ว่าถ้า barcode ใน cloum Aในไฟล์ Datax ไม่ตรงกับเบอร์กล่อง ใน cloum Eในไฟล์ Datax จะไม่สามารถ scan ได้ครับ เช่น ถ้าลงข้อมูลในไฟล์ Datax ไว้แล้วว่า Barcode ใน Cloum A2 ว่า 123 และ ลงข้อมูลใน Box ใน Cloum E2 ว่า 1 แล้วไปทำในไฟล์ Needle - Copy.xlsm Box เป็น 2 และ Barcode เป็น 123 ก็จะไม่สามารถ scan ได้ เนื่องจากข้อมูลที่ลงในไฟล์ Datax Cloum A ไม่ตรงกับ Cloum E ครับ
Re: สอบถามครับ การกำหนดค่าหลายตัวแปร
Posted: Thu Sep 13, 2018 5:57 pm
by snasui
Leng wrote: Thu Sep 13, 2018 9:00 am
สาเหตุที่ผ่านคือ ข้อมูลในไฟล์ Needle - Copy.xlsm ได้มีการกำหนดไว้ว่าถ้า barcode ใน cloum A ในไฟล์ Datax ตรงกับเบอร์กล่อง ใน cloum E ในไฟล์ Datax จะสามารถ scan ได้ครับ

Barcode ในคอลัมน์ A มันจะไปตรงกับเบอร์กล่องในคอลัมน์ E ได้อย่างไรครับ
Barcode มีรหัสเช่น
8060168019001 ส่วนคอลัมน์ E มีรหัสเช่น
1 เทียบกันในรูปแบบใดว่ามันตรงกัน การอธิบายลักษณะนี้ไม่สามารถทำให้ผู้อ่านเข้าใจได้เลยครับ
แต่ถ้าอธิบายว่าเมื่อ Barcdoe ใน Form ตรงกับ Barcode ในคอลัมน์ A ของไฟล์ DataX และ Box ใน Form ตรงกับคอลัมน์ E ของไฟล์ DataX แล้วถือว่าผ่าน หากเป็นเช่นนี้พอจะเข้าใจได้ เพราะเป็นการนำค่าเดียวกันไปเทียบกัน ส่วนจะมีเงื่อนไขในลักษณะใดอีกก็ต้องอธิบายมาให้หมด เขียนมาให้เป็นข้อ ๆ ได้ก็จะยิ่งดี
Leng wrote: Thu Sep 13, 2018 9:00 am
เช่น ถ้าลงข้อมูลในไฟล์ Datax ไว้แล้วว่า Barcode ใน Cloum A2 ว่า 123 และ ลงข้อมูลใน Box ใน Cloum E2 ว่า 1 แล้วไปทำในไฟล์ Needle - Copy.xlsm Box เป็น 2 และ Barcode เป็น 123 ก็จะไม่สามารถ scan ได้ เนื่องจากข้อมูลที่ลงในไฟล์ Datax Cloum A ไม่ตรงกับ Cloum E ครับ
Barcode 123 มีอยู่ในไฟล์ DataX หรือไม่ อยู่เซลล์ไหนในคอลัมน์ A ถ้าไม่มีให้อธิบายมาใหม่ด้วยข้อมูลที่มีอยู่จริงในไฟล์ตัวอย่างทั้ง 2 กรณี
Scan ด้วย Box ใด Barcode ใด แล้วต้องให้ผ่าน
Scan ด้วย Box ใด Barcode ใด แล้วต้องไม่ผ่าน
Re: สอบถามครับ การกำหนดค่าหลายตัวแปร
Posted: Fri Sep 14, 2018 8:18 am
by Leng

ผมคงอธิบายผิดและผมก็คงไม่รู้จะอธิบายยังไงแต่ผมจะพยายามอธิบายครับ
Barcdoe ในไฟล์ Needle - Copy ตรงกับ Barcode ในคอลัมน์ A ของไฟล์ DataX และ Box ในไฟล์ Needle - Copy ตรงกับคอลัมน์ E ของไฟล์ DataX
1.สาเหตุที่ผ่าน เนื่องจากการทำงาน ระหว่าง Barcode กับ Box ในไฟล์ Needle - Copy ต้องตรงกันครับ ถึง scan ผ่านครับ เช่น
Barcode 8060168019001 ต้องตรงกับ Box เป็น 1 เท่านั้นถึงจะผ่านครับ
เนื่องจากข้อมูลในไฟล์ Datax ได้มีการกำหนดไว้ว่า Barcode ใน Cloum A เป็น 8060168019001 และ Box ใน Cloum E เป็น 1 ครับ
2.สาเหตุที่ไม่ผ่าน เนื่องจากการทำงาน ระหว่าง Barcode กับ Box ในไฟล์ Needle - Copy ไม่ตรงกันครับทำให้ scan ไม่ผ่านครับ เช่น
Barcode 8060168019001 แต่ใส่ Box เป็น 2 ก็จะไม่สามรถผ่านได้ครับ
เนื่องจากข้อมูลในไฟล์ Datax ได้มีการกำหนดไว้ว่า Barcode ใน Cloum A เป็น 8060168019001 และ Box ใน Cloum E เป็น 1 ครับ
Re: สอบถามครับ การกำหนดค่าหลายตัวแปร
Posted: Fri Sep 14, 2018 6:14 pm
by snasui

ตัวอย่าง Code ครับ
Code: Select all
Private Sub TextBox5_AfterUpdate()
Dim rngCmpr As Range
Dim rngBrcd As Range
With Workbooks("DataX.xlsx").Worksheets("Sheet1")
Set rngvlp = .Range("a2", .Range("d" & .Rows.Count).End(xlUp))
Set rngBrcd = rngvlp.Resize(, 1)
Set rngCmpr = .Range("e2", .Range("e" & .Rows.Count).End(xlUp))
End With
If Me.TextBox5.Text = "" Then Exit Sub
With Application
If .CountIfs(rngCmpr, Me.TextBox2.Text, rngBrcd, Me.TextBox5.Text) <> 1 Then
MsgBox "<Your message>", vbInformation
Exit Sub
End If
End With
'Other code
'With Workbooks("DataX.xlsx").Worksheets("Sheet1")
'Set rngvlp = .Range("a2", .Range("d" & .Rows.Count).End(xlUp))
'End With
With ThisWorkbook.Worksheets("IN")
emptyrow = .Range("a" & .Rows.Count).End(xlUp).Offset(1, 0).Row
End With
'Other code
ซึ่งก็คือ Code ในลักษณะเดีม ๆ ที่จำเป็นจะต้องทำความเข้าใจเพื่อจะได้ปรับเองได้ครับ
Re: สอบถามครับ การกำหนดค่าหลายตัวแปร
Posted: Sat Sep 15, 2018 8:57 am
by Leng
อาจารย์ครับ สิ่งที่อาจารย์ให้มา ไม่ตรงกับสิ่งที่ผมต้องการครับ สิ่งที่ผมต้องการคือ ผลรวม Barcode ใน from Needle - Copy.xlsm ต้องไม่เกินผลรวมของ Cloum F ในไฟล์ datax ครับ เช่น
Barcode 8060168019001 ต้องมีผมรวมแค่ 2 เพราะในไฟล์ datax cloum F มี 2 ครับ
Re: สอบถามครับ การกำหนดค่าหลายตัวแปร
Posted: Sat Sep 15, 2018 9:04 am
by snasui

ต้องปรับ Code มาเอง ติดแล้วค่อยถามกันต่อ อธิบายให้ชัดว่าปรับปรุงมาเองแล้วยังขาดในส่วนใด จะได้ตอบต่อไปจากนั้นครับ
ผมได้แจ้งไปแล้วว่าให้อธิบายมาให้ครอบคลุมทุกเงื่อนไข ควรอ่านและทำความเข้าใจทุกประโยคที่ผมแจ้งไปเสมอครับ
Re: สอบถามครับ การกำหนดค่าหลายตัวแปร
Posted: Sat Sep 15, 2018 9:22 am
by Leng
สิ่งที่ผมต้องการคือ ผลรวม Barcode ใน from Needle - Copy.xlsm ต้องไม่เกินผลรวมขใน Cloum F ในไฟล์ datax ครับ เช่น
Barcode 8060168019001 ต้องมีผมรวมแค่ 2 เพราะในไฟล์ datax cloum F มีผลรวมแค่ 2 ครับ หากผลรวมเกินไฟล์ datax cloum F ให้ แจ้งเตือนครับ
Code: Select all
Dim rngBarcode As Range
Dim rngTotal As Range
With Workbooks("Needle - Copy.xlsm").Worksheets("IN")
Set rngvlp = .Range("a2", .Range("d" & .Rows.Count).End(xlUp))
Set rngBarcode = rngvlp.Resize(, 1)
With Workbooks("DataX.xlsx").Worksheets("Sheet1")
Set rngTotal = .Range("F2", .Range("F" & .Rows.Count).End(xlUp))
End With
With Application
If .CountIfs(rngBrcd, Me.TextBox5.Text, "< rngBox, Me.TextBox2.Text") Then
MsgBox "<Your message countifs>", vbInformation
Exit Sub
End If
End With
Re: สอบถามครับ การกำหนดค่าหลายตัวแปร
Posted: Sat Sep 15, 2018 9:38 am
by snasui

Code ที่เขียนมามีความหมายว่าอย่างไรครับ
เข้าใจ Code ที่ผมเขียนไปให้แล้วหรือไม่ แปลว่าอย่างไรครับ

หากแปลไม่ได้ควรแปลให้ได้เสียก่อนจึงจะทราบได้ว่าควรเพิ่มหรือลดหรือแก้ไขตรงไหน
Re: สอบถามครับ การกำหนดค่าหลายตัวแปร
Posted: Sat Sep 15, 2018 9:59 am
by Leng
Code: Select all
Dim rngBarcode01 As Range
Dim rngBarcode02 As Range
With Workbooks("Needle - Copy.xlsm").Worksheets("IN")
Set rngBarcode01 = Workbooks("Needle - Copy.xlsm").Worksheets("IN").Range("a2", .Range("d" & .Rows.Count).End(xlUp))
Set rngBrcd01 = rngvlp.Resize(, 1)
Set rngBarcode02 = Workbooks("DataX.xlsx").Worksheets("Sheet1").Range("f2", .Range("f" & .Rows.Count).End(xlUp))
If Me.TextBox5.Text = "" Then Exit Sub
With Application
If .CountIfs(rngBrcd01, "<=", rngBarcode02) Then
MsgBox "Please Check Information", vbInformation
Exit Sub
End If
End With
รบกวนอาจารย์ช่วยดูหน่อยครับ
Re: สอบถามครับ การกำหนดค่าหลายตัวแปร
Posted: Sat Sep 15, 2018 12:55 pm
by snasui

กรุณาตอบที่ผมถาม ไม่ใช่เขียนไปเรื่อย ๆ แบบไม่ทราบความหมายครับ
Re: สอบถามครับ การกำหนดค่าหลายตัวแปร
Posted: Sat Sep 15, 2018 1:24 pm
by Leng
Code: Select all
Private Sub TextBox5_AfterUpdate()
Dim rngCmpr As Range
Dim rngBrcd As Range
With Workbooks("DataX.xlsx").Worksheets("Sheet1")
Set rngvlp = .Range("a2", .Range("d" & .Rows.Count).End(xlUp))
Set rngBrcd = rngvlp.Resize(, 1)
Set rngCmpr = .Range("e2", .Range("e" & .Rows.Count).End(xlUp))
End With
If Me.TextBox5.Text = "" Then Exit Sub
With Application
If .CountIfs(rngCmpr, Me.TextBox2.Text, rngBrcd, Me.TextBox5.Text) <> 1 Then
MsgBox "<Your message>", vbInformation
Exit Sub
End If
End With
จากโค๊ดที่อาจารย์ให้มา คือ การกำหนด rngCmpr และ rngBrcd คือ
rngBrcd คือช่วงข้อมูลที่กำหนดไว้ในไฟล์ DataX.xlsx คือ Cloum A2:D
rngCmpr คือช่วงข้อมูลที่กำหนดไว้ในไฟล์ DataX.xlsx คือ Cloum E2:E
หากข้อมูล rngCmpr ,Textbox2 ไม่ตรงกับ rngBrcd ,Textbox 5 จะให้ขึ้น "<Your message>"
และหากข้อมูลตรงกันก็จะสามรถ scan ได้
ผมเข้าใจถูกต้องไหมครับ
Re: สอบถามครับ การกำหนดค่าหลายตัวแปร
Posted: Sat Sep 15, 2018 1:45 pm
by snasui

การกำหนดตัวแปรให้กับ
rngBrcd คือ
Set rngBrcd = rngvlp.Resize(, 1) ซึ่งจะเป็น ช่วงเซลล์ใดก็ต้องไปดูว่า ตัวแปร
rngvlp คือพื้นที่ใด
เมื่อไปดูแล้วพบว่า
rngvlp คือ
.Range("a2", .Range("d" & .Rows.Count).End(xlUp)) หมายถึงตั้งแต่ A2 จนถึงคอลัมน์ D บรรทัดสุดท้ายที่มีข้อมูล
ดังนั้น
rngvlp.Resize(, 1) จึงหมายถึงการปรับพื้นที่ของ
rngvlp ให้เหลือคอลัมน์เดียวคือคอลัมน์ A เท่านั้นและไปกำหนดค่านี้ให้กับ
rngBrcd เป็น
Set rngBrcd = rngvlp.Resize(, 1)
ส่วนตัวแปร
rngCmpr คือพื้นที่ ตั้งแต่ E2 จนถึง E สุดท้ายที่มีข้อมูล
เมื่อได้เช่นนี้แล้วค่อยไปนับว่า TextBox5 คือ Barcode ใน Form มีค่าตรงกับ
rngBrcd และ Textbox2 คือ Box ใน Form มีค่าตรงกับ
rngCmpr หรือไม่
โดย Code ที่ใช้คือ
Code: Select all
With Application
If .CountIfs(rngCmpr, Me.TextBox2.Text, rngBrcd, Me.TextBox5.Text) <> 1 Then
MsgBox "<Your message>", vbInformation
Exit Sub
End If
End With
แปลว่า หากมี Barcode ที่กำลัง Scan ในคอลัมน์ A ของไฟล์ DataX และมี Box ในคอลัมน์ E ของไฟล์ DataX ไม่เท่ากับ 1 รายการ ให้แสดงข้อความเดือน แต่ถ้ามีเพียง 1 รายการไม่ต้องแสดงข้อความเตือน
กรุณาสังเกตและทำความเข้าใจการใช้ Countifs ว่าใช้อย่างไร ไม่ควรเปลี่ยนไปเป็นอย่างอื่นโดยยังไม่มีความเข้าใจ
คำถามนี้เข้าใจว่ามีเงื่อนไขมากกว่า 2 เงื่อนไข คือมีการดูคอลัมน์ F ประกอบด้วย ดังนั้นจะต้องเขียนเพิ่มเองโดยอาศัยความเข้าใจในสิ่งที่ผมตอบไปแล้ว
ในส่วนที่ต้องเขียนเพิ่ม เข้าใจว่าจะต้องเป็น Sumifs และต้องมี 2 เงื่อนไขเช่นเดิม ศึกษาดู Sumifs ให้เข้าใจแล้วลองเขียนมาเองก่อน ติดตรงไหนค่อยถามกันต่อครับ
Re: สอบถามครับ การกำหนดค่าหลายตัวแปร
Posted: Sat Sep 15, 2018 5:15 pm
by Leng
Code: Select all
Dim rngCmpr As Range
Dim rngBrcd As Range
Dim rngTotal As Range
With Workbooks("DataX.xlsx").Worksheets("Sheet1")
Set rngvlp = .Range("a2", .Range("d" & .Rows.Count).End(xlUp))
Set rngBrcd = rngvlp.Resize(, 1)
Set rngCmpr = .Range("e2", .Range("e" & .Rows.Count).End(xlUp))
Set rngTotal = .Range("f2", .Range("f" & .Rows.Count).End(xlUp))
End With
If Me.TextBox5.Text = "" Then Exit Sub
With Application
If .CountIfs(rngCmpr, Me.TextBox2.Text, rngBrcd, Me.TextBox5.Text, "< rngTotal") <> 1 Then
MsgBox "Please Check Information", vbInformation
Exit Sub
End If
End With
'Other code
'With Workbooks("DataX.xlsx").Worksheets("Sheet1")
'Set rngvlp = .Range("a2", .Range("d" & .Rows.Count).End(xlUp))
'End With
อาจารย์ครับจากที่ผมดูและทำความเข้าใจเอง ผมคิดว่าต้องมีการกำหนดตัวแปรเพิ่มผมจึงกำหนดตัวแปรเพิ่มขึ้นคือ
เพื่อให้ตัวแปรนี้ไปดึงข้อมูลจากไฟล์ DataX ใน cloum f แต่ติดปัญหาคือ ผมไม่รู้จะทำยังไงให้รวมผลรวมของแต่ละ barcode หากเกินข้อมูลใน ไฟล์ datax ใน cloum f ให้แจ้งเตือนครับรบกวนอาจารย์ช่วยผมหน่อยครับ
Re: สอบถามครับ การกำหนดค่าหลายตัวแปร
Posted: Sat Sep 15, 2018 7:27 pm
by snasui

ให้ใช้ Sumifs แทน Countifs ครับ
กรุณาอ่านและทำความเข้าใจพร้อมทั้งปรับ Code มาเอง ถ้ายังไม่เป็น Sumifs ถือว่ายังไม่ได้อ่านที่ผมเขียนไปครับ
Re: สอบถามครับ การกำหนดค่าหลายตัวแปร
Posted: Mon Sep 17, 2018 4:43 pm
by Leng
รบกวนอาจารย์ช่วยแนะนำหน่อยครับ
Code: Select all
Dim rngCmpr As Range
Dim rngBrcd As Range
Dim rngTotal As Range
With Workbooks("DataX.xlsx").Worksheets("Sheet1")
Set rngvlp = .Range("a2", .Range("d" & .Rows.Count).End(xlUp))
Set rngBrcd = rngvlp.Resize(, 1)
Set rngCmpr = .Range("e2", .Range("e" & .Rows.Count).End(xlUp))
Set rngTotal = .Range("f2", .Range("f" & .Rows.Count).End(xlUp))
End With
If Me.TextBox5.Text = "" Then Exit Sub
With Application
If .SumIfs(rngBrcd, Me.TextBox5, rngTotal, rngCmpr, Me.TextBox2) < 1 Then
MsgBox "Please Check Information", vbInformation
Exit Sub
End If
End With
'Other code
'With Workbooks("DataX.xlsx").Worksheets("Sheet1")
'Set rngvlp = .Range("a2", .Range("d" & .Rows.Count).End(xlUp))
'End With
Re: สอบถามครับ การกำหนดค่าหลายตัวแปร
Posted: Mon Sep 17, 2018 7:21 pm
by snasui

ตัวอย่างการปรับ Code ครับ
Code: Select all
'Other code
If .SumIfs(rngTotal, rngBrcd, Me.TextBox5, rngCmpr, Me.TextBox2) > 2 Then
MsgBox "Please Check Information", vbInformation
Exit Sub
End If
End With
'Other code