Page 1 of 1
พบ Cell ว่างที่กำหนดให้แจ้งเตือน
Posted: Fri Jul 13, 2018 4:26 pm
by liveday
เรียนอาจารย์ทุกท่าน
ผมต้องการให้ข้อมูลใส่ให้ครบช่องในแถวนั้นๆครับ ถ้าไม่ครบให้แจ้งเตือน ข้อมูลที่ต้องใส่
หลังจากเราใส่ ID Code ที่ FromIn Cell C17 แล้วข้อมูลจะขึ้นมา และที่ Sheet FromIn Cell H17 ต้องใส่จำนวน แต่ถ้าไม่ใส่หรือเป็นค่าว่างให้แจ้งเตือนครับ และข้อมูลที่ต้องใส่เพิ่ม C18-C31 ก็ต้องทำเหมือนกันครับ ผมได้ใส่สูตรนี้ไป
Code: Select all
If Worksheets("FormIn").Range("H17") = "" Then
MsgBox "กรุณาใส่ข้อมูลให้ครบ"
Exit Sub
End If
ผลลัพท์ได้แค่ C17 ช่องเดียว ในส่วน Cell ที่เหลือจะต้องปรับ Code อย่างไรครับ เพื่อให้ถูกต้องครับ โดยการให้ Code เช็คข้อมูลว่า A17-G17 ใส่ข้อมูลมาแล้วก็ให้บังคับให้ใส่จำนวนตามเข้าไป ถ้าไม่ใส่ก็ให้แสดงเตือนครับ
ขอบคุณครับ
Re: พบ Cell ว่างที่กำหนดให้แจ้งเตือน
Posted: Fri Jul 13, 2018 5:14 pm
by Serverchita
จริงแล้วใช้ Conditional Formatting ก็ได้ครับจะได้ไม่ยุ้งยาก
ตามตัวอย่างนะครับ
=AND($C17<>"",$H17="")
Re: พบ Cell ว่างที่กำหนดให้แจ้งเตือน
Posted: Fri Jul 13, 2018 7:02 pm
by snasui

กรุณาแจ้ง Procedure ที่ติดปัญหา ลำดับการทดสอบ ค่าที่ใช้ในการทดสอบ จะได้เข้าถึงปัญหาได้โดยเร็วครับ
Re: พบ Cell ว่างที่กำหนดให้แจ้งเตือน
Posted: Fri Jul 13, 2018 8:52 pm
by liveday
ขั้นตอนเมื่อผมใส่ข้อมูล รหัสสินค้าที่ FormIn Cell C17 ข้อมูลที่ Vlookup จะขึ้นมา แต่ว่าในช่องจำนวนที่ Cell H17 ซึ่งจะต้องใส่ข้อมูลเองครับ ที่นี้ผมต้องการดักไว้จะได้แจ้งเตือนเวลาใส่ข้อมูล เพื่อไม่ให้ลืมใส่จำนวนครับ ลำดับที่ใส่ที่ FormIn Command(บันทึกข้อมูล)
Code: Select all
Sub record()
Dim rs As Range, rt As Range
Dim i As Integer
Dim rc As Range
Worksheets("FormIn").Range("H9") _
= Application.Max(Worksheets("Import") _
.Range("B:B")) + 1
With Worksheets("Template")
i = Application.CountIf( _
.Range("L2:L15"), ">0")
Set rs = .Range("A2:M" & 1 + i)
If Worksheets("FormIn").Range("H17") = "" Then
MsgBox "กรุณาใส่ข้อมูลให้ครบถ้วน"
Exit Sub
End If
End With
Set rt = Worksheets("Import") _
.Range("A65536").End(xlUp).Offset(1, 0)
rs.Copy
rt.PasteSpecial xlPasteValues
Application.CutCopyMode = False
MsgBox "Finish"
End Sub
Code นี้ทำงานเฉพาะที่ Cell H17 ซึ่งเป็นการบังคับให้ใส่ข้อมูลเฉยๆครับ ถ้าผมต้องการให้ Cell H17 เช็คข้อมูลด้วยว่าข้อมูลมี่ A17-G17 ใส่ครบถ้วนแล้ว และถ้า Cell H17 ถ้ายังไม่ใส่ก็ให้แจ้งเตือนครับ
Code: Select all
If Worksheets("FormIn").Range("H17") = "" Then
MsgBox "กรุณาใส่ข้อมูลให้ครบถ้วน"
Exit Sub
Re: พบ Cell ว่างที่กำหนดให้แจ้งเตือน
Posted: Sat Jul 14, 2018 5:12 am
by snasui

ตัวอย่างการปรับ Code ครับ
Code: Select all
Sub record()
Dim rs As Range, rt As Range
Dim i As Integer, r As Range
Dim rc As Range
Worksheets("FormIn").Range("H9") _
= Application.Max(Worksheets("Import") _
.Range("B:B")) + 1
With Worksheets("Template")
i = Application.CountIf( _
.Range("L2:L15"), ">0")
Set rs = .Range("A2:M" & 1 + i)
With Worksheets("FormIn")
If .Range("c17").Value = "" Then Exit Sub
For Each r In .Range("c17", .Range("c32").End(xlUp))
If r.Value <> "" And r.Offset(0, 5).Value = "" Then
MsgBox "â»Ã´ÃкػÃÔÁÒ³ã¹à«ÅÅì " & r.Offset(0, 5).Address(0, 0)
Exit Sub
End If
Next r
End With
End With
Set rt = Worksheets("Import") _
.Range("A65536").End(xlUp).Offset(1, 0)
rs.Copy
rt.PasteSpecial xlPasteValues
Application.CutCopyMode = False
MsgBox "Finish"
End Sub