: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

รบกวนช่วยตรวจสอบ code การหาค่าที่ซ้ำ ในฐานข้อมูล

ฟอรัมถาม-ตอบปัญหาการใช้งาน 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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
akekorn
Bronze
Bronze
Posts: 416
Joined: Wed Mar 09, 2011 5:19 pm

รบกวนช่วยตรวจสอบ code การหาค่าที่ซ้ำ ในฐานข้อมูล

#1

Post by akekorn »

สวัสดีครับเพื่อนสมาชิกทุกท่าน
วันนี้ผมมีป็ํญหาเกียวกับ vba การค้นหาค่าที่ซ้ำหากซ้ำจะมีการถามว่าจะแก้ไข หรือไม่
หากแก้ไขจะนำข้อมูลที่แก้ไขใหม่ทับลงบนฐานข้อมูลเดิมซี่งจากตัวอย่างผมลองทำ
ปรากฏว่าหากเพิ่มข้อมูลใหม่จะสามารถทำได้แต่หากแก้ไขข้อมูลเดิม
ไม่สามารถทำได้
โดยผมได้แนบ file มาด้วยครับผม
ปุ่มที่ปัญหา คือ OKButton event click ครับ

ขอบคุณครับผม
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30744
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: รบกวนช่วยตรวจสอบ code การหาค่าที่ซ้ำ ในฐานข้อมูล

#2

Post by snasui »

:D ต้องการกำหนดค่าให้กับตัวแปร myid เสียก่อนเนื่องจาก Code นั้นเป็นการนำ myid ไปเทียบกับค่าในเซลล์

ก่อนที่จะ Loop ด้วย Do ใหโปรแกรมรับรู้เสียก่อนว่า Activecell คือเซลล์ เช่นกำหนดเป็น Sheet1.Range("A1").Select
akekorn
Bronze
Bronze
Posts: 416
Joined: Wed Mar 09, 2011 5:19 pm

Re: รบกวนช่วยตรวจสอบ code การหาค่าที่ซ้ำ ในฐานข้อมูล

#3

Post by akekorn »

ครับผมเดี๋ยวลองทำดูครับ
ขอบคุณมากครับผม
akekorn
Bronze
Bronze
Posts: 416
Joined: Wed Mar 09, 2011 5:19 pm

Re: รบกวนช่วยตรวจสอบ code การหาค่าที่ซ้ำ ในฐานข้อมูล

#4

Post by akekorn »

ผมได้ลองแก้ไขแล้วแต่ สงสัยเพราะค่าที่เลือกเท้ากับค่าในactivecellแล้วแต่โปรแกรมมันยังไม่ยอมเข้าเงื่อนไขครับโดยผมได้แนบcodeมาด้วยครับ

Private Sub OKButton_Click()
Dim emptyRow As Long
Dim myid As Variant


'Make Sheet1 active
Sheet1.Activate
If WorksheetFunction.CountIf(Sheet1.Range("A:A"), NameTextBox.Value) = 0 Then
'Determine emptyRow
emptyRow = WorksheetFunction.CountA(Range("A:A")) + 1

'Transfer information
Cells(emptyRow, 1).Value = NameTextBox.Value
Cells(emptyRow, 2).Value = PhoneTextBox.Value
Cells(emptyRow, 3).Value = CityListBox.Value
Cells(emptyRow, 4).Value = DinnerComboBox.Value

If DateCheckBox1.Value = True Then Cells(emptyRow, 5).Value = DateCheckBox1.Caption

If DateCheckBox2.Value = True Then Cells(emptyRow, 5).Value = Cells(emptyRow, 5).Value & " " & DateCheckBox2.Caption

If DateCheckBox3.Value = True Then Cells(emptyRow, 5).Value = Cells(emptyRow, 5).Value & " " & DateCheckBox3.Caption

If CarOptionButton1.Value = True Then
Cells(emptyRow, 6).Value = "Yes"
Else
Cells(emptyRow, 6).Value = "No"
End If

Cells(emptyRow, 7).Value = MoneyTextBox.Value
Else
'MsgBox "Name " & NameTextBox.Value & " This name already exists."
If MsgBox("Name " & NameTextBox.Value & " This name already exists do you want to replace?", vbYesNo, "Information") = vbYes Then
myid = NameTextBox.Value
Sheet1.Range("A1").Select
Do While ActiveCell <> ""
If myid = ActiveCell.Value Then
ActiveCell.Offset(0, 1).Value = NameTextBox.Value
ActiveCell.Offset(0, 2).Value = PhoneTextBox.Value
ActiveCell.Offset(0, 3).Value = CityListBox.Value
ActiveCell.Offset(0, 4).Value = DinnerComboBox.Value
If DateCheckBox1.Value = True Then Cells(emptyRow, 5).Value = DateCheckBox1.Caption
If DateCheckBox2.Value = True Then Cells(emptyRow, 5).Value = Cells(emptyRow, 5).Value & " " & DateCheckBox2.Caption
If DateCheckBox3.Value = True Then Cells(emptyRow, 5).Value = Cells(emptyRow, 5).Value & " " & DateCheckBox3.Caption
If CarOptionButton1.Value = True Then
Cells(emptyRow, 6).Value = "Yes"
Else
Cells(emptyRow, 6).Value = "No"
End If
Cells(emptyRow, 7).Value = MoneyTextBox.Value
Exit Do
End If
ActiveCell.Offset(1, 0).Select
Loop
Else
Exit Sub
End If
End If

End Sub


ตัองขออภัยด้วยนะครับพอดีทำผ่านมือถือผมเลือกเป็นโค้ดไม่ได้
User avatar
snasui
Site Admin
Site Admin
Posts: 30744
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: รบกวนช่วยตรวจสอบ code การหาค่าที่ซ้ำ ในฐานข้อมูล

#5

Post by snasui »

:D ช่วยแนบไฟล์พร้อม Code ล่าสุดมาใหม่จะได้สะดวกในการตอบครับ
Post Reply