Page 1 of 1

ต้องการให้คีย์เบอร์โทร ให้เป็นฟอร์เมตเดียวกัน

Posted: Thu Jan 26, 2017 11:33 am
by liveday
เรียนอาจารย์ทุกท่าน
ผมต้องการให้คนใช้ไฟล์ร่วมกันคีย์เบอร์โทร ให้เป็นฟอร์เมตไปในทิศทางเดียวกันครับ
เช่นคนชื่อ ก.ชอบเผลอคีย์เบอร์เป็น 080-001-000 คนชื่อ ข. เผลอคีย์เป็น 090-0020003
ผมต้องการไม่ว่าคนไหนคีย์ผลลัพธ์จะออกมาเหมือนกันคือเป็น xxx xxx xxxx แบบนี้ครับ
และในส่วนการคีย์ข้อมูลซ้ำแล้วแจ้งเตือนจะต้องปรับสูตรอย่างไรดีครับ
ขอบคุณครับ

Re: ต้องการให้คีย์เบอร์โทร ให้เป็นฟอร์เมตเดียวกัน

Posted: Thu Jan 26, 2017 12:03 pm
by parakorn
ตัวอย่าง วิธีป้องกัน User ใส่เครื่องหมายใดๆลงไปใน Cell

เลือก Cell B12 > Data > Data Validation > Setting > ปรับ Allow เป็น Custom
> ตรงช่อง Formula พิมพ์ =IF(B12<>TEXT(B12,"0000000000"),1,0) > Error Alert ปรับ Style เป็น Stop
ใส่ Title และ Error message สำหรับแจ้ง User ให้กรอกข้อมูลไหม่โดยไม่ใส่เครื่องหมายใดๆลงไป

Re: ต้องการให้คีย์เบอร์โทร ให้เป็นฟอร์เมตเดียวกัน

Posted: Thu Jan 26, 2017 12:52 pm
by liveday
วิธีป้องกัน User ได้ตามต้องการครับ
ในส่วนการบันทึกหากมีมีเบอร์ซ้ำกับ ข้อมูล Database จะต้องปรับสูตร VBA อย่างไรบ้างครับ

Re: ต้องการให้คีย์เบอร์โทร ให้เป็นฟอร์เมตเดียวกัน

Posted: Thu Jan 26, 2017 2:52 pm
by parakorn
สามารถใช้ Validation ในการป้องกันได้ครับ
ที่ C12 พิมพ์ =IF(IFERROR(MATCH(B12,Database!$E:$E,0),0)>1,1,0)
ปรับสูตรใน Validation เป็น
=IF(OR(B12<>TEXT(B12,"0000000000"),$C$12>="1"),1,0)
และอย่าลืมเพิ่มคำอธิบายว่าเบอร์ซ้ำคีย์ไม่ได้ด้วยนะครับ

Re: ต้องการให้คีย์เบอร์โทร ให้เป็นฟอร์เมตเดียวกัน

Posted: Mon Jan 30, 2017 11:13 am
by liveday
parakorn wrote:สามารถใช้ Validation ในการป้องกันได้ครับ
ที่ C12 พิมพ์ =IF(IFERROR(MATCH(B12,Database!$E:$E,0),0)>1,1,0)
ปรับสูตรใน Validation เป็น
=IF(OR(B12<>TEXT(B12,"0000000000"),$C$12>="1"),1,0)
และอย่าลืมเพิ่มคำอธิบายว่าเบอร์ซ้ำคีย์ไม่ได้ด้วยนะครับ
ได้ลองทำตามที่แนะนำแล้วครับ แต่ยังคีย์ซ้ำได้อยู่เหมือนเดิมครับ รบกวนด้วยครับ ขอบคุณครับ

Re: ต้องการให้คีย์เบอร์โทร ให้เป็นฟอร์เมตเดียวกัน

Posted: Mon Jan 30, 2017 6:36 pm
by snasui
:D ตัวอย่างการทำ Validation เพื่อการตรวจสอบ 3 อย่างตามด้านล่างครับ
  1. ต้องเป็นตัวเลขทั้งหมด
  2. ต้องมี 10 อักขระ
  3. ต้องไม่ซ้ำ
คลุม B12:B14 > กำหนด Custom ของ Validation ด้วยสูตรด้านล่างครับ

=AND(ISNUMBER(B12+0),LEN(B12)=10,COUNTIF(B$12:B12,B12)=1)

Re: ต้องการให้คีย์เบอร์โทร ให้เป็นฟอร์เมตเดียวกัน

Posted: Tue Jan 31, 2017 9:59 am
by liveday
snasui wrote::D ตัวอย่างการทำ Validation เพื่อการตรวจสอบ 3 อย่างตามด้านล่างครับ
  1. ต้องเป็นตัวเลขทั้งหมด
  2. ต้องมี 10 อักขระ
  3. ต้องไม่ซ้ำ
คลุม B12:B14 > กำหนด Custom ของ Validation ด้วยสูตรด้านล่างครับ

=AND(ISNUMBER(B12+0),LEN(B12)=10,COUNTIF(B$12:B12,B12)=1)
อาจารย์ผมไม่แน่ใจว่าผิดขั้นตอนไหนหรือเปล่าครับ ทำตามที่แนะนำมาสูตรยังไม่ทำงานครับ ยังสามารถคีย์ข้อมูลที่ซ้ำได้อยู่เลยครับ
รบกวนด้วยครับ

Re: ต้องการให้คีย์เบอร์โทร ให้เป็นฟอร์เมตเดียวกัน

Posted: Tue Jan 31, 2017 11:05 am
by parakorn
ลองแบบนี้ดูอีกทีครับ
C12 =IF(IFERROR(MATCH(B12,Database!$E:$E,0),0)>1,1,0)
B12 =AND(ISNUMBER(B12+0),LEN(B12)=10,$C$12<>1)

Re: ต้องการให้คีย์เบอร์โทร ให้เป็นฟอร์เมตเดียวกัน

Posted: Tue Jan 31, 2017 12:03 pm
by liveday
parakorn wrote:ลองแบบนี้ดูอีกทีครับ
C12 =IF(IFERROR(MATCH(B12,Database!$E:$E,0),0)>1,1,0)
B12 =AND(ISNUMBER(B12+0),LEN(B12)=10,$C$12<>1)
ถ้าต้องการเช็คข้อมูล ที่แถว Database E:F ผมลองคีย์ C12 =IF(IFERROR(MATCH(B12,Database!$E:$F,0),0)>1,1,0) แต่ไม่เเสดงผลที่ต้องการครับ ต้องปรับสูตรอย่างไรครับ

Re: ต้องการให้คีย์เบอร์โทร ให้เป็นฟอร์เมตเดียวกัน

Posted: Tue Jan 31, 2017 12:24 pm
by parakorn
ตามนี้ครับผม :D
=IF(IFERROR(MATCH(B12,Database!$E:$E,0),0)+IFERROR(MATCH(B12,Database!$F:$F,0),0)>1,1,0)

Re: ต้องการให้คีย์เบอร์โทร ให้เป็นฟอร์เมตเดียวกัน

Posted: Tue Jan 31, 2017 5:17 pm
by snasui
liveday wrote:อาจารย์ผมไม่แน่ใจว่าผิดขั้นตอนไหนหรือเปล่าครับ ทำตามที่แนะนำมาสูตรยังไม่ทำงานครับ ยังสามารถคีย์ข้อมูลที่ซ้ำได้อยู่เลยครับ
รบกวนด้วยครับ
:D ปรับสูตรเป็นตามด้านล่างครับ

=AND(ISNUMBER(B12+0),LEN(B12)=10,COUNTIF(B$12:B$14,B12)=1)

Re: ต้องการให้คีย์เบอร์โทร ให้เป็นฟอร์เมตเดียวกัน

Posted: Wed Feb 01, 2017 1:25 pm
by liveday
ขอบคุณอาจารย์ทุกท่านมากครับ