: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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
9KiTTi
Member
Member
Posts: 198
Joined: Thu Jun 28, 2012 3:46 pm
Excel Ver: 2016,2019

รบกวนสอบถามวิธีแก้ไขคำสั่งค้นหา แก้ไข ลบบนฟอร์มไม่ทำงาน

#1

Post by 9KiTTi »

รบกวนสอบถามวิธีแก้ไขคำสั่งค้นหา แก้ไข ลบบนฟอร์มไม่ทำงาน ในฟอร์มหน้าทะเบียนหนังสือส่ง

ขออนุญาตอ้างจากกระทู้เก่าครับ viewtopic.php?t=18635 ผมนำมาปรับเพิ่มเติมในส่วนทะเบียนหนังสือส่ง สามารถบันทึกเข้า sheet ได้ แต่เวลาค้นหาจะเกิด error ได้ debug ตามที่อาจารย์แนะนำ เจอ error ตามภาพครับ และไม่สามารถแก้ไขหรือลบข้อมูลได้ครับ รบกวนแนะนำผมด้วยครับ

code ปุ่มค้นหา

Code: Select all

Sub SearchData_recives()

    Application.ScreenUpdating = False
    
    Dim shDatabase As Worksheet ' Database sheet
    Dim shSearchData As Worksheet 'SearchData sheet
    
    Dim iColumn As Integer 'To hold the selected column number in Database sheet
    Dim iDatabaseRow As Long 'To store the last non-blank row number available in Database sheet
    Dim iSearchRow As Long 'To hold the last non-blank row number available in SearachData sheet
    
    Dim sColumn As String 'To store the column selection
    Dim sValue As String 'To hold the search text value
    
    Set shDatabase = ThisWorkbook.Sheets("DatabaseOUT")
    Set shSearchData = ThisWorkbook.Sheets("SearchDataOUT")
    
    iDatabaseRow = ThisWorkbook.Sheets("DatabaseOUT").Range("A" & Application.Rows.Count).End(xlUp).Row
    
    sColumn = frmRecives.cmbrecivesSearchColumn.value
    
    sValue = frmRecives.recivestxtSearch.value
    
    iColumn = Application.WorksheetFunction.Match(sColumn, shDatabase.Range("A1:L1"), 0)
    
    'Remove filter from Database worksheet
    
    If shDatabase.FilterMode Then
    shDatabase.AutoFilterMode = False
    'shDatabase.ShowAllData
    shDatabase.ListObjects("Table3").AutoFilter.ShowAllData
End If

    'Apply filter on Database worksheet
    
    If frmRecives.cmbrecivesSearchColumn.value = "เลขทะเบียนส่ง" Then

        shDatabase.Range("A1:L" & iDatabaseRow).AutoFilter Field:=iColumn, Criteria1:=sValue
    
    Else
    
        shDatabase.Range("A1:L" & iDatabaseRow).AutoFilter Field:=iColumn, Criteria1:="*" & sValue & "*"
    
    End If
    
    If Application.WorksheetFunction.Subtotal(3, shDatabase.Columns(iColumn)) >= 2 Then
    
        'Code to remove the previous data from SearchData worksheet
        
        shSearchData.Cells.Clear
        
        shDatabase.UsedRange.Copy shSearchData.Range("A1")
        
        Application.CutCopyMode = False
        
        iSearchRow = shSearchData.Range("A" & Application.Rows.Count).End(xlUp).Row
        
        frmRecives.recDatabase.ColumnCount = 12
        
        frmRecives.recDatabase.ColumnWidths = "40,70,75,75,75,80,70,70,70,350,70,70"
        
        If iSearchRow > 1 Then
        
            frmRecives.recDatabase.RowSource = "SearchDataOUT!A2:L" & iSearchRow
            
            MsgBox "พบข้อมูลที่ค้นหา!!!"
        
        End If
        
    Else
    
       MsgBox "ไม่พบข้อมูลที่ค้นหา"
    
    End If

    shDatabase.AutoFilterMode = False
    Application.ScreenUpdating = True

End Sub
code ปุ่มแก้ไข

Code: Select all

Private Sub cmdEditrecives_Click()
    
    If Selected_List = 0 Then
    
        MsgBox "ไม่ได้เลือกข้อมูล", vbOKOnly + vbInformation, "แก้ไข"
        
        Exit Sub
    
    End If
    
    'Code to update the value to respective controls
    
    Me.recivestxtRowNumber.value = Selected_List + 1
    
    Me.recivestxtID.value = Me.recDatabase.List(Me.recDatabase.ListIndex, 1)
    
    Me.recivestxtName.value = Me.recDatabase.List(Me.recDatabase.ListIndex, 2)
    
    Me.recivestxtDate.value = Me.recDatabase.List(Me.recDatabase.ListIndex, 3)
    
    Me.cmbrecivesfrom.value = Me.recDatabase.List(Me.recDatabase.ListIndex, 4)
    
    Me.cmbrecivesto.value = Me.recDatabase.List(Me.recDatabase.ListIndex, 5)
    
    Me.cmbrecivesclass.value = Me.recDatabase.List(Me.recDatabase.ListIndex, 6)
    
    Me.cmbrecivesspeed.value = Me.recDatabase.List(Me.recDatabase.ListIndex, 7)
    
    Me.cmbrecivessecurity.value = Me.recDatabase.List(Me.recDatabase.ListIndex, 8)
    
    Me.recivestxtSubj.value = Me.recDatabase.List(Me.recDatabase.ListIndex, 9)
    
    Me.recivestxtJobn.value = Me.recDatabase.List(Me.recDatabase.ListIndex, 10)
    
    Me.recivestxtN.value = Me.recDatabase.List(Me.recDatabase.ListIndex, 11)
    
    MsgBox "หลังจากแก้ไขข้อมูลเสร็จสิ้น ให้กดปุ่มบันทึกข้อมูล!!!", vbOKOnly + vbInformation, "แก้ไข"
    
End Sub
code ปุ่มลบ

Code: Select all

Private Sub cmdDeleteRecives_Click()
    
    If Selected_List = 0 Then
    
        MsgBox "No row is selected.", vbOKOnly + vbInformation, "ลบ"
        Exit Sub
    End If
    
    Dim i As VbMsgBoxResult
    
    i = MsgBox("คุณมั่นใจที่จะลบหรือไม่?", vbYesNo + vbQuestion, "Confirmation")
    
    If i = vbNo Then Exit Sub
    
    ThisWorkbook.Sheets("DatabaseOUT").Rows(Selected_List + 1).Delete
    
    Call Resetrecives
    
    MsgBox "เลือกข้อมูลที่ต้องการลบ", vbOKOnly + vbInformation, "ลบแล้ว!!!"
    
End Sub
ขอบพระคุณครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30761
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: รบกวนสอบถามวิธีแก้ไขคำสั่งค้นหา แก้ไข ลบบนฟอร์มไม่ทำงาน

#2

Post by snasui »

:D กรุณาแจ้งลำดับการทดสอบ เช่น คลิกปุ่มไหน ที่ชีตไหน ค่าที่ใช้ในการทดสอบเพื่อให้เกิด Error ดังกล่าว ต้องกรอกที่ใด ด้วยค่าใด จะได้เข้าถึงปัญหาโดยไวครับ
9KiTTi
Member
Member
Posts: 198
Joined: Thu Jun 28, 2012 3:46 pm
Excel Ver: 2016,2019

Re: รบกวนสอบถามวิธีแก้ไขคำสั่งค้นหา แก้ไข ลบบนฟอร์มไม่ทำงาน

#3

Post by 9KiTTi »

snasui wrote: Tue Oct 26, 2021 7:23 pm :D กรุณาแจ้งลำดับการทดสอบ เช่น คลิกปุ่มไหน ที่ชีตไหน ค่าที่ใช้ในการทดสอบเพื่อให้เกิด Error ดังกล่าว ต้องกรอกที่ใด ด้วยค่าใด จะได้เข้าถึงปัญหาโดยไวครับ
กดปุ่ม "ทะเบียนหนังสือส่ง" ที่ sheet Home จะเปิดฟอร์มทะเบียนหนังสือส่ง หลังจากลงรายละเอียดหนังสือส่งที่เฟรม "หนังสือส่ง" แล้วกด save จะบันทึกข้อมูลไปที่ sheet "DatabaseOUT" หลังจากนั้นที่เฟรม "รายละเอียดหนังสือ" จะมีปุ่มค้นหาโดยมี combobox และ textbox ที่ใช้สำหรับกำหนดเงื่อนไขค้นหา โดย commandbutttom ที่ให้เรียก moldule สำหรับค้นหา โดยที่ sheet "SearchDataOUT" จะใช้เก็บข้อมูลที่ค้นจาก sheet "DatabaseOUT " เพื่อมาแสดงผล

สำหรับปุ่มแก้ไขและลบข้อมูล ก็จะลบข้อมูลที่ "DatabaseOUT" ครับ

ขอความช่วยเหลือด้วยครับ ขอบพระคุณครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 30761
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: รบกวนสอบถามวิธีแก้ไขคำสั่งค้นหา แก้ไข ลบบนฟอร์มไม่ทำงาน

#4

Post by snasui »

:D ขอค่าที่ใช้ในการทดสอบครับ

บอก Object ที่ต้องคลิกมาตามลำดับ ค่าทดสอบที่ต้องกรอก และ Error ที่จะแสดง ควรแจ้งสิ่งเหล่านี้มาเสมอ แก้ให้ผ่านไปทีละเรื่องครับ
9KiTTi
Member
Member
Posts: 198
Joined: Thu Jun 28, 2012 3:46 pm
Excel Ver: 2016,2019

Re: รบกวนสอบถามวิธีแก้ไขคำสั่งค้นหา แก้ไข ลบบนฟอร์มไม่ทำงาน

#5

Post by 9KiTTi »

snasui wrote: Tue Oct 26, 2021 9:02 pm :D ขอค่าที่ใช้ในการทดสอบครับ

บอก Object ที่ต้องคลิกมาตามลำดับ ค่าทดสอบที่ต้องกรอก และ Error ที่จะแสดง ควรแจ้งสิ่งเหล่านี้มาเสมอ แก้ให้ผ่านไปทีละเรื่องครับ
เนื่องจากผมไม่ค่อยมีความรู้เรื่อง VBA เท่าไหร่ ผมขออนุญาตอธิบายตามความสามารถที่มีนะครับ คือ ที่หน้าฟอร์ม "ลงทะเบียนหนังสือรับ" จะเลือกประเภทของหมวดหมู่ที่ต้องการค้นหา หลังจากนั้นให้ใส่ข้อความในช่อง "สิ่งที่ต้องการค้นหา" หลังจากนั้นกดปุ่ม "search" จะไปเรียก macro ที่ฟอร์ม "frmRecives"

Code: Select all

Private Sub cmdSearchrecives_Click()

    If Me.recivestxtSearch.value = "" Then
    
        MsgBox "ãÊè¢éͤÇÒÁ·Õèµéͧ¡Òäé¹ËÒ", vbOKOnly + vbInformation, "¤é¹ËÒ"
        Exit Sub
    
    End If
    
    Call SearchData_recives
     
End Sub
module

Code: Select all

Private Sub cmdSearchrecives_Click()

    If Me.recivestxtSearch.value = "" Then
    
        MsgBox "ใส่ข้อความที่ต้องการค้นหา", vbOKOnly + vbInformation, "ตกลง"
        Exit Sub
    
    End If
    
    Call SearchData_recives
     
End Sub
หลังนั้นจะเกิด error ที่ module4 >>> error ตามภาพครับ

ขออภัยด้วยครับที่อธิบายไม่เป็นไปตามหลักการเขียนโปรแกรมครับ :cry:
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30761
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: รบกวนสอบถามวิธีแก้ไขคำสั่งค้นหา แก้ไข ลบบนฟอร์มไม่ทำงาน

#6

Post by snasui »

:D ค่อย ๆ ถามตอบกันไปครับ
9KiTTi wrote: Tue Oct 26, 2021 10:17 pm ที่หน้าฟอร์ม "ลงทะเบียนหนังสือรับ" จะเลือกประเภทของหมวดหมู่ที่ต้องการค้นหา
เลือกหมวดไหน โปรดระบุครับ
9KiTTi wrote: Tue Oct 26, 2021 10:17 pm หลังจากนั้นให้ใส่ข้อความในช่อง "สิ่งที่ต้องการค้นหา"
ใส่ข้อความใดโปรดระบุครับ
9KiTTi
Member
Member
Posts: 198
Joined: Thu Jun 28, 2012 3:46 pm
Excel Ver: 2016,2019

Re: รบกวนสอบถามวิธีแก้ไขคำสั่งค้นหา แก้ไข ลบบนฟอร์มไม่ทำงาน

#7

Post by 9KiTTi »

snasui wrote: Tue Oct 26, 2021 11:08 pm :D ค่อย ๆ ถามตอบกันไปครับ
9KiTTi wrote: Tue Oct 26, 2021 10:17 pm ที่หน้าฟอร์ม "ลงทะเบียนหนังสือรับ" จะเลือกประเภทของหมวดหมู่ที่ต้องการค้นหา
เลือกหมวดไหน โปรดระบุครับ
9KiTTi wrote: Tue Oct 26, 2021 10:17 pm หลังจากนั้นให้ใส่ข้อความในช่อง "สิ่งที่ต้องการค้นหา"
ใส่ข้อความใดโปรดระบุครับ
ประเภทหนังสือเลือกโดยดึงจาก sheet "list"

ข้อความที่ใส่เป็นรายละเอียดหนังสือที่บันทึกลง sheet "DatabaseOUT" ที่ดึงมาแสดงใน frame "รายละเอียดหนังสือ" ครับ

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

Re: รบกวนสอบถามวิธีแก้ไขคำสั่งค้นหา แก้ไข ลบบนฟอร์มไม่ทำงาน

#8

Post by snasui »

snasui wrote: Tue Oct 26, 2021 11:08 pm :D ค่อย ๆ ถามตอบกันไปครับ
9KiTTi wrote: Tue Oct 26, 2021 10:17 pm ที่หน้าฟอร์ม "ลงทะเบียนหนังสือรับ" จะเลือกประเภทของหมวดหมู่ที่ต้องการค้นหา
เลือกหมวดไหน โปรดระบุครับ
9KiTTi wrote: Tue Oct 26, 2021 10:17 pm หลังจากนั้นให้ใส่ข้อความในช่อง "สิ่งที่ต้องการค้นหา"
ใส่ข้อความใดโปรดระบุครับ
:D คำถามนี้ไม่ได้อยากทราบว่าข้อมูลที่นำมาแสดงใน ComboBox เอามาจากไหนแต่อย่างใดครับ

แต่อยากทราบว่าก่อนคลิกเลข 3 ในภาพ
  1. หมายเลข 1 ในภาพ เป็นค่าอะไร
  2. หมายเลข 2 ในภาพ เป็นค่าอะไร
ทั้งหมายเลข 1 และหมายเลข 2 ต้องแจ้งค่าที่คลิกหมายเลข 3 แล้วเกิด Error ไม่ใช่แจ้งค่าใด ๆ ที่ไม่ก่อให้เกิด Error ครับ
You do not have the required permissions to view the files attached to this post.
9KiTTi
Member
Member
Posts: 198
Joined: Thu Jun 28, 2012 3:46 pm
Excel Ver: 2016,2019

Re: รบกวนสอบถามวิธีแก้ไขคำสั่งค้นหา แก้ไข ลบบนฟอร์มไม่ทำงาน

#9

Post by 9KiTTi »

snasui wrote: Wed Oct 27, 2021 12:58 pm
snasui wrote: Tue Oct 26, 2021 11:08 pm :D ค่อย ๆ ถามตอบกันไปครับ
9KiTTi wrote: Tue Oct 26, 2021 10:17 pm ที่หน้าฟอร์ม "ลงทะเบียนหนังสือรับ" จะเลือกประเภทของหมวดหมู่ที่ต้องการค้นหา
เลือกหมวดไหน โปรดระบุครับ
9KiTTi wrote: Tue Oct 26, 2021 10:17 pm หลังจากนั้นให้ใส่ข้อความในช่อง "สิ่งที่ต้องการค้นหา"
ใส่ข้อความใดโปรดระบุครับ
:D คำถามนี้ไม่ได้อยากทราบว่าข้อมูลที่นำมาแสดงใน ComboBox เอามาจากไหนแต่อย่างใดครับ

แต่อยากทราบว่าก่อนคลิกเลข 3 ในภาพ
  1. หมายเลข 1 ในภาพ เป็นค่าอะไร
  2. หมายเลข 2 ในภาพ เป็นค่าอะไร
ทั้งหมายเลข 1 และหมายเลข 2 ต้องแจ้งค่าที่คลิกหมายเลข 3 แล้วเกิด Error ไม่ใช่แจ้งค่าใด ๆ ที่ไม่ก่อให้เกิด Error ครับ
ต้องขออภัยอาจารย์ครับ ผมไม่มีความรู้เรื่องการเขียนโปรแกรมครับ ผมเลยไม่เข้าใจความหมายของค่าที่อาจารย์ต้องการทราบจริงๆ ขออภัยด้วยครับ
Post Reply