:D snasui.com ยินดีต้อนรับ :D
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย :thup: สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ :arrow: ระบุ Version ของ Excel
:!: โปรดทราบ :!:
  1. กรุณาอ่านกฎการใช้บอร์ด (Forum rules) ในตำแหน่งด้านบนของแต่ละบอร์ด
  2. การสมัครสมาชิก การ Login การกู้คืนรหัสผ่าน
    1. สมัครสมาชิกดูขั้นตอนได้ที่ :arrow: สมัครสมาชิก
    2. Login เข้าระบบโดยคลิกปุ่ม Login ตรงมุมขวาบนของหน้านี้ :roll:
    3. การ Login ผ่าน Facebook ดูวิธีที่ :arrow: Login ผ่าน Facebook
    4. ลืมรหัสผ่านสามารถรับรหัสใหม่ได้ที่ :arrow: Reset รหัสผ่าน
  3. มีปัญหาการใช้งาน แจ้งผู้ดูแลระบบได้ที่ :arrow: ติดต่อผู้ดูแลระบบ
  4. กำหนดการตั้งค่าส่วนตัว เช่นตั้งค่าภาษาเป็นไทยหรืออังกฤษดูได้ที่ :arrow: ตั้งค่าส่วนตัว
  5. การตั้งและตอบกระทู้ดูได้ที่ :arrow: วิธีการตั้งและตอบกระทู้
  6. การจัดรูปแบบตัวอักษรด้วย bbcode ในช่องแสดงความคิดเห็นดูได้ที่ :arrow: จัดรูปแบบตัวอักษร
  7. กำหนดขนาดตัวอักษรใน Browser ดูได้ที่ :arrow: กำหนดขนาดตัวอักษรใน Browser

ลบเเล้วให้เหมือนเดิม

ฟอรัมถาม-ตอบปัญหาการใช้งาน MS Excel and VBA
Forum rules
  1. ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
  2. ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
  3. กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
  4. กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
  5. กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code] และปิดด้วย [/code] ตัวอย่างเช่น [code]dim r as range[/code] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
  6. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
navara1112
Member
Member
Posts: 178
Joined: Fri Sep 16, 2016 1:18 pm

ลบเเล้วให้เหมือนเดิม

#1

Post by navara1112 »

สวัสดีครับ
ไม่ทราบว่าจะทำได้ไหมครับ หากลบข้อมูล ซึ่งงานเสร็จจบเเล้วไม่ต้องการ เเต่เผอิญต้องมีเงื่อนไขวันที่ เวลา ของงานถัดลงมาเป็นตัวกำหนดการคิดเเทน
ตามเเนบไฟล์ครับ
ขอบคุณครับ
You do not have the required permissions to view the files attached to this post.
เพชรพระอุมา
User avatar
DhitiBank
Gold
Gold
Posts: 1676
Joined: Mon Oct 15, 2012 12:07 am

Re: ลบเเล้วให้เหมือนเดิม

#2

Post by DhitiBank »

ผมคิดว่าหากยังใช้สูตรอยู่จะไม่สามารถทำแบบนั้นได้ครับ คงต้องใช้ VBA

หรืออาจใช้ conditional format แทนเพื่อไม่ให้มองเห็นวันเวลาในบางแถว เผื่อเป็นทางเลือกครับ (ตามรูป)
2016-10-25 23_53_16-Microsoft Excel - ลบเเล้วเหมือนเดิม condi.xlsx.png
จากรูป สีอักษรในคอลัมน์ N และ O จะเป็นสีขาวโดยขึ้นกับว่าในคอลัมน์ H มีเครื่องหมายถูกหรือไม่ วิธีทำคือ

1. ลากคลุม N4:O9 >> conditional formatting >> New rule...
2. เลือก use a formula to determine...
3. ช่องว่างที่ให้ใส่สูตรให้คีย์ =$H4<>""
4. กดปุ่ม Format >> เลือกสีอักษรเป็นสีขาว >> OK >> OK

จากนั้นลองใส่เครื่องหมายถูกในคอลัมน์ H (เลือกฟ้อนท์เป็น Wingdings 2 และพิมพ์เครื่องหมายถูกโดยกด Ship+p) สีอักษรวันเวลาในแถวนั้นๆ ก็จะเปลี่ยนเป็นสีขาวครับ
You do not have the required permissions to view the files attached to this post.
navara1112
Member
Member
Posts: 178
Joined: Fri Sep 16, 2016 1:18 pm

Re: ลบเเล้วให้เหมือนเดิม

#3

Post by navara1112 »

ผมลองใช้ดูยังงง คือผมจะลบเเถว เเละสามารถเเทรกใหม่ เเละกรอกข้อมูลใหม่ คือตัวเเปรคือวันเเละเวลาขึ้นอยู่กับงานมากน้อย เพราะฉะ
นั้นวันเเละเวลาต้องคิดบวกวันเวลาตรงเลย เเต่ไม่ทราบว่าเป็นไปได้ไหม
ขอบคุณครับ
เพชรพระอุมา
User avatar
DhitiBank
Gold
Gold
Posts: 1676
Joined: Mon Oct 15, 2012 12:07 am

Re: ลบเเล้วให้เหมือนเดิม

#4

Post by DhitiBank »

อ๋อ เข้าใจแล้วครับ หากต้องการแบบนั้นคงต้องเอาสูตรที่ปกติแล้วต้องคีย์ในคอลัมน์ Q และ R มาใส่ในคอลัมน์ N และ O ในแถวถัดลงไปแทน และปรับการอ้างอิงใหม่โดยเอา Indirect มาช่วย ส่วนคอลัมน์ P ก็ไม่จำเป็นแล้วเพราะสามารถเอามารวมในสูตรได้เลยครับ

N5
=WORKDAY(INDIRECT("N"&ROW()-1),INT((INDIRECT("O"&ROW()-1)-$J$2-(INDIRECT("O"&ROW()-1)>1/2)/24+(INDIRECT("J"&ROW()-1)*INDIRECT("K"&ROW()-1))*(INDIRECT("I"&ROW()-1)*1.25))/$J$2),(holiday))
Enter >> คัดลอกลงล่าง (คัดลอกให้ลงไปต่ำกว่าข้อมูลที่มี 1 แถว)

O5
=$J$2+MOD(INDIRECT("O"&ROW()-1)-J$2-(INDIRECT("O"&ROW()-1)>1/2)/24+MOD((INDIRECT("J"&ROW()-1)*INDIRECT("K"&ROW()-1))*(INDIRECT("I"&ROW()-1)*1.25),J$2),J$2)+(MOD(INDIRECT("O"&ROW()-1)-J$2-(INDIRECT("O"&ROW()-1)>1/2)/24+MOD((INDIRECT("J"&ROW()-1)*INDIRECT("K"&ROW()-1))*(INDIRECT("I"&ROW()-1)*1.25),J$2),J$2)>4/24)/24
Enter >> คัดลอกลงล่าง (คัดลอกให้ลงไปต่ำกว่าข้อมูลที่มี 1 แถว)

P4
=INDIRECT("N"&ROW()+1)
Enter >> คัดลอกลงล่าง

Q4
=INDIRECT("O"&ROW()+1)
Enter >> คัดลอกลงล่าง

แล้วลองลบแถวหรือเพิ่มแถวดูครับ ที่สำคัญคือพอลบหรือเพิ่มแล้ว ข้อมูลแถวแรกในคอลัมน์ N และ O ให้คีย์วัน เวลาด้วยมือ และสูตรในสองคอลัมน์นี้ให้มีเผื่อลงมาจากข้อมูลที่มี 1 แถวครับ

หมายเหตุ: สำหรับ Indirect มีเยอะๆ อาจทำให้คำนวณช้าครับ เพราะฉะนั้นคัดลอกสูตรเผื่อไว้เท่าที่จำเป็นครับ

:?: เอ... ตอนแรกนึกว่าย้ายสูตรมาที่คอลัมน์ N และ O จะสามารถลบ/แทรกได้เลยโดยไม่ต้องพึ่ง Indirect แต่พอไม่มี Indirect กลับทำให้เกิด #REF ตอนลบแถว ตาลายจริงและงงจัง :?
You do not have the required permissions to view the files attached to this post.
navara1112
Member
Member
Posts: 178
Joined: Fri Sep 16, 2016 1:18 pm

Re: ลบเเล้วให้เหมือนเดิม

#5

Post by navara1112 »

ขอบพระคุณมากครับท่าน
เพชรพระอุมา
navara1112
Member
Member
Posts: 178
Joined: Fri Sep 16, 2016 1:18 pm

Re: ลบเเล้วให้เหมือนเดิม

#6

Post by navara1112 »

ขอปรับ
ืN-Q =ลบเเล้วอยากปรับบวกวันหยุดเลยอัตโนมัติไปด้วย เช่นมีวันหยุดมากกว่า 1วันขึ้นไปให้บวกเองเลยจากเงื่อนไขปฏิทิน
ขอบคุณครับ
เพชรพระอุมา
User avatar
snasui
Site Admin
Site Admin
Posts: 30736
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ลบเเล้วให้เหมือนเดิม

#7

Post by snasui »

:D แนบไฟล์ตัวอย่างล่าสุดมาด้วยพร้อมชี้ให้เห็นว่าต้องการให้เซลล์ใด มีค่าเท่าใด เนื่องจากเงื่อนไขใด จะได้สะดวกในการตอบของเพื่อนสมาชิกครับ
navara1112
Member
Member
Posts: 178
Joined: Fri Sep 16, 2016 1:18 pm

Re: ลบเเล้วให้เหมือนเดิม

#8

Post by navara1112 »

ตามเเนบครับ
You do not have the required permissions to view the files attached to this post.
เพชรพระอุมา
navara1112
Member
Member
Posts: 178
Joined: Fri Sep 16, 2016 1:18 pm

Re: ลบเเล้วให้เหมือนเดิม

#9

Post by navara1112 »

สวัสดีครับ
คำตอบตัวอย่าง ตามเเนบครับ
เพชรพระอุมา
User avatar
DhitiBank
Gold
Gold
Posts: 1676
Joined: Mon Oct 15, 2012 12:07 am

Re: ลบเเล้วให้เหมือนเดิม

#10

Post by DhitiBank »

ลองปรับสูตรแบบนี้ครับ

N5
=WORKDAY(N4,INT((O4-$R$2+P4)/$R$2),holiday)

O5
=$R$2+MOD(O4-IF(O4>12/24,1/24)-$R$2+P4,8/24)+IF(MOD(O4-IF(O4>12/24,1/24)-$R$2+P4,8/24)>4/24,1/24)
navara1112
Member
Member
Posts: 178
Joined: Fri Sep 16, 2016 1:18 pm

Re: ลบเเล้วให้เหมือนเดิม

#11

Post by navara1112 »

ขอบพระคุณเป็นอันมากๆ ขอบคุณครับ
เพชรพระอุมา
Post Reply