: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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
User avatar
bank9597
Guru
Guru
Posts: 3868
Joined: Wed Aug 17, 2011 11:49 am

เคลียร์ข้อมูลหลังกดบันทึก

#1

Post by bank9597 »

จากโค๊ดนี้ครับ
Sheets("Purchase Order").Select
[B17:H34].ClearContents
หลังจากสั่งบันทึกแล้ว ระบบจะเคลียร์ข้อมูล B17:H34 ออกไป
หากผมต้องการใส่คำสั่งเคลียร์ L3,G7,B7,C13 เพิ่มไปอีก ผมควรใส่โค๊ดต่ออย่างไรครับอาจารย์
Forum Rules
  1. อย่าใช้ภาษาแชทในการตอบ-ถาม
  2. ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
  3. ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
  4. ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
  5. หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
  6. แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
User avatar
snasui
Site Admin
Site Admin
Posts: 31176
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: เคลียร์ข้อมูลหลังกดบันทึก

#2

Post by snasui »

:D สามารถใช้ Code ด้านล่างครับ

Sheets("Purchase Order").select
Range("B17:H34,L3,G7,B7,C13").clearcontents
User avatar
bank9597
Guru
Guru
Posts: 3868
Joined: Wed Aug 17, 2011 11:49 am

Re: เคลียร์ข้อมูลหลังกดบันทึก

#3

Post by bank9597 »

:D ขอบคุณครับ
Forum Rules
  1. อย่าใช้ภาษาแชทในการตอบ-ถาม
  2. ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
  3. ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
  4. ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
  5. หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
  6. แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
User avatar
bank9597
Guru
Guru
Posts: 3868
Joined: Wed Aug 17, 2011 11:49 am

Re: เคลียร์ข้อมูลหลังกดบันทึก

#4

Post by bank9597 »

:D เกิดข้อผิดพลาดครับอาจารย์ บันทึกข้อมูลได้ แต่ไม่เคลียร์ข้อมูลครับ มัน Error
โค๊ดทั้งหมด
Sub Button7_Click()

Dim i As Integer

If Range("B17") <> "" Then

i = WorksheetFunction.CountA(Range("B17:B34")) + 16

Sheets("Temp").Select
Range("A2:H19").Select
Selection.Copy
Sheets("DataStore").Select
Range("Target").Select
Selection.PasteSpecial xlPasteValues

Sheets("Purchase Order").Select
Range("B17:H34,L3,G7,B7,C13").ClearContents

Else
MsgBox ("¤Ø³ÂѧäÁèàÅ×Í¡ÊÔ¹¤éÒ")
Range("B17").Activate

End If
End Sub

ต่ออีกนิดครับ พอดีว่าเวลาสั่งบันทึก ระบบจะบันทึกข้อมูลในชีท Temp ไปลงใน DataStore ทุกบรรทัดเลยครับ มันไม่ได้คัดเอาไปแต่บันทัดที่มีการทำรายการไป
ว่าจะรอถามต่อไป แต่ไม่ทันล่ะ อิอิ :D
Forum Rules
  1. อย่าใช้ภาษาแชทในการตอบ-ถาม
  2. ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
  3. ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
  4. ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
  5. หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
  6. แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
User avatar
snasui
Site Admin
Site Admin
Posts: 31176
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: เคลียร์ข้อมูลหลังกดบันทึก

#5

Post by snasui »

:shock: ลองกดแป้น F8 เพื่อ Run ทีละ Step แล้วสังเกตว่า Error ตรงบรรทัดไหนครับ ถ้าจะให้ดีการถามควรส่งตัวอย่างไฟล์มาด้วยจะได้ช่วยตรวจสอบได้ครับ
User avatar
bank9597
Guru
Guru
Posts: 3868
Joined: Wed Aug 17, 2011 11:49 am

Re: เคลียร์ข้อมูลหลังกดบันทึก

#6

Post by bank9597 »

:D ขออภัยครับอาจารย์ พอดีไฟล์ใหญ่ และค่อนข้างเป็นความลับ ผมเลยแกะบางส่วนออกมาเป็นตัวอย่างให้อาจารย์ดูครับ

ในไฟล์นี้ ผมต้องการเคลียร์ C1,C2 ด้วยครับ

BB.xls
You do not have the required permissions to view the files attached to this post.
Forum Rules
  1. อย่าใช้ภาษาแชทในการตอบ-ถาม
  2. ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
  3. ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
  4. ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
  5. หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
  6. แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
User avatar
bank9597
Guru
Guru
Posts: 3868
Joined: Wed Aug 17, 2011 11:49 am

Re: เคลียร์ข้อมูลหลังกดบันทึก

#7

Post by bank9597 »

รู้แล้วครับอาจารย์ มันฟ้องว่าไม่สามารถเคลียร์ได้ เพราะ เซลล์ที่ถูกสั่งให้เคลียร์นั้น เป็นเซลล์ที่ถูกผสานครับ

แล้วจะแก้ยังไงล่ะครับ เฮ้อ!! อิอิ
Forum Rules
  1. อย่าใช้ภาษาแชทในการตอบ-ถาม
  2. ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
  3. ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
  4. ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
  5. หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
  6. แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
User avatar
snasui
Site Admin
Site Admin
Posts: 31176
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: เคลียร์ข้อมูลหลังกดบันทึก

#8

Post by snasui »

:D เซลล์ที่ผสานกันอยู่ชีทไหน เซลล์ไหน และที่ส่งมานั้นเป็น Code ที่ Update แล้วหรือไม่ ได้รวมเซลล์ที่ผสานมาด้วยแล้วยังครับ :?:
User avatar
bank9597
Guru
Guru
Posts: 3868
Joined: Wed Aug 17, 2011 11:49 am

Re: เคลียร์ข้อมูลหลังกดบันทึก

#9

Post by bank9597 »

:D ผมส่งตัวจริงไปให้น่ะครับ

ปัญหาตอนนี้คือ เวลาสั่งบันทึก มันจะบันทึกขู้อมูลจากชีท Temp ไปลง DataStore ทั้งหมดเลย โดยไม่ได้คัดแต่ตัวที่ทำรายการ

และอีกอย่างคือการเคลียร์ข้อมูลตามที่แจ้งไปแล้ว

รบกวนอาจารย์ดูอีกทีน่ะครับ
Test.xlsm
You do not have the required permissions to view the files attached to this post.
Forum Rules
  1. อย่าใช้ภาษาแชทในการตอบ-ถาม
  2. ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
  3. ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
  4. ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
  5. หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
  6. แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
User avatar
snasui
Site Admin
Site Admin
Posts: 31176
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: เคลียร์ข้อมูลหลังกดบันทึก

#10

Post by snasui »

:D ลองปรับ Code เป็นตามด้านล่างครับ

Code: Select all

Sub Button7_Click()
If Range("B17") <> "" Then
    Sheets("Temp").Select
    Range("A2:H19").Resize(Range("I1"), 8).Select
    Selection.Copy
    Sheets("DataStore").Select
    Range("Target").Select
    Selection.PasteSpecial xlPasteValues
    Sheets("Purchase Order").Select
    Range("B17:H34,L3,G7,C13").SpecialCells(xlCellTypeConstants).ClearContents
Else
    MsgBox ("คุณยังไม่เลือกสินค้า")
    Range("B17").Activate
End If
End Sub
User avatar
bank9597
Guru
Guru
Posts: 3868
Joined: Wed Aug 17, 2011 11:49 am

Re: เคลียร์ข้อมูลหลังกดบันทึก

#11

Post by bank9597 »

:D ได้แล้วครับ อิอิ
แต่ติดอยู่ที่ว่า ผมล็อคแผ่นงานไว้ ระบบเลยฟ้องให้ปลดล๊อคครับ ไม่งั้นมันจะไม่บันทึก ผมควรทำไงครับ เพราะผมต้องการป้องกันการเปลี่ยนแปลงสูตรและรูปแบบฟอร์ม
Forum Rules
  1. อย่าใช้ภาษาแชทในการตอบ-ถาม
  2. ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
  3. ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
  4. ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
  5. หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
  6. แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
User avatar
snasui
Site Admin
Site Admin
Posts: 31176
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: เคลียร์ข้อมูลหลังกดบันทึก

#12

Post by snasui »

:D ต้องเขียน Code ให้ปลด Lock ก่อนครับ เช่น

Code: Select all

'Oter code
Activesheet.Unprotect Password:="abc"
'Other code
Activesheet.Protect Password:="abc"
End Sub
ดูตัวอย่างเพิ่มเติมที่นี่ครับ http://www.snasui.com/viewtopic.php?p=1 ... 4d4#p10337
User avatar
bank9597
Guru
Guru
Posts: 3868
Joined: Wed Aug 17, 2011 11:49 am

Re: เคลียร์ข้อมูลหลังกดบันทึก

#13

Post by bank9597 »

ผมได้เพิ่มโค๊ดนี้ไปครับ

Code: Select all

Public Sub unlocksheet()
'unlock the worksheet

On Error Resume Next
ActiveSheet.Unprotect Password:="240130"

End Sub
Public Sub locksheet()
'lock the worksheet

On Error Resume Next
ActiveSheet.Protect Password:="240130"

End Sub
ปรากฏว่ามันก็ยังฟ้องอยู๋
:D แต่แปลกครับ ข้อมูลถูกบันทึกไปเก็บเรียบร้อย ติดอย่างเดียวคือระบบไม่เคลียร์ข้อมูลครับ

ผมได้แนบภาพที่เกิด error มาให้อาจารย์ดูด้วยครับ
untitled.JPG
You do not have the required permissions to view the files attached to this post.
Forum Rules
  1. อย่าใช้ภาษาแชทในการตอบ-ถาม
  2. ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
  3. ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
  4. ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
  5. หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
  6. แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
User avatar
snasui
Site Admin
Site Admin
Posts: 31176
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: เคลียร์ข้อมูลหลังกดบันทึก

#14

Post by snasui »

:lol: ที่ยังติด Error คิดว่าเพราะเข้าใจยังไม่ถูกต้องครับ ดูตัวอย่าง Code ด้านล่างว่าปลด Lock ตอนไหน และ Lock กลับเข้าไปใหม่ตอนไหน

Code: Select all

Sub Button7_Click()
activesheet.unprotect password:="xyx" '<==UnProtect
If Range("B17") <> "" Then
    Sheets("Temp").Select
    Range("A2:H19").Resize(Range("I1"), 8).Select
    Selection.Copy
    Sheets("DataStore").Select
    Range("Target").Select
    Selection.PasteSpecial xlPasteValues
    Sheets("Purchase Order").Select
    Range("B17:H34,L3,G7,C13").SpecialCells(xlCellTypeConstants).ClearContents
Else
    MsgBox ("คุณยังไม่เลือกสินค้า")
    Range("B17").Activate
End If
activesheet.protect password:="xyx" '<== Protect Again
End Sub
User avatar
bank9597
Guru
Guru
Posts: 3868
Joined: Wed Aug 17, 2011 11:49 am

Re: เคลียร์ข้อมูลหลังกดบันทึก

#15

Post by bank9597 »

:D อย่างนี้เค้าเรียกว่า "เดา" ครับ ลองไปหลายวิธี หลายโค๊ด แล้วก็ยังไม่ได้
เลยต้อง เดา ครับ อิอิ

ขอบคุณอาจารย์น่ะครับ
Forum Rules
  1. อย่าใช้ภาษาแชทในการตอบ-ถาม
  2. ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
  3. ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
  4. ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
  5. หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
  6. แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
Post Reply