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

Add ข้อมูลเพิ่มลงไปในชีท โดยมีเงื่อนไข

ฟอรั่มถาม-ตอบปัญหาการใช้งาน MS Excel and VBA
Forum rules
  1. ไม่อนุญาตให้ใช้ภาษาแชทในการถาม-ตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
  2. ห้ามถามโดยระบุชื่อผู้ตอบ ต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
  3. อธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
  4. ควรแนบตัวอย่างไฟล์มาที่ฟอรั่มนี้เพื่อเพิ่มความสะดวกในการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่น นอกจากนี้ไม่ควรแนบไฟลที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
  5. สำหรับคำถามเกี่ยวกับ VBA ให้ลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน ควรโพสต์ Code ให้แสดงเป็น Code เพื่อสะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
  6. แจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
Benmore
Bronze
Bronze
Posts: 253
Joined: Tue Sep 05, 2017 9:51 am

Add ข้อมูลเพิ่มลงไปในชีท โดยมีเงื่อนไข

#1

Postby Benmore » Tue Nov 21, 2017 2:15 pm

Code: Select all

Private Sub btsearch_Click()
On Error Resume Next
       Dim found As Boolean
   Dim r As Range
    For Each r In Sheet2.Columns(A).SpecialCells(xlCellTypeConstants)
    Sheet2.Activate
    Next r
    If found Then
        If Err.Number = 91 Then
        TextBox1.RowSource = "combobox1"
    End If
     Exit Sub
    Else
        MsgBox "ไม่มีข้อมูล"
        TextBox1.Value = ""
        Combobox1.Value = ""
    End If
End Sub

:arrow: โค้ดอยู่ที่ Userform2 ค่ะ :arl:
:arrow: รบกวนดูโค้ดค้นหาให้หน่อยค่ะ
เช่น ถ้าเราต้องการค้นหาคำว่า section ให้เลือกข้อมูล section ใน combobox1 แล้วกดปุ่มค้นหาให้แสดงข้อมูลคอลลัมน์ section ที่อยู่ในชีท DATA ทั้งหมดค่ะ
:arrow: ถ้าเราต้องการ Add ข้อมูลเพิ่มลงไปใน ชีท DATA
เช่น ต้องการบันทึกข้อมูลไซส์เสื้อ ให้เลือกข้อมูลเสื้อใน combobox1 แล้วใส่ข้อมูลลงใน textbox1 คือ XXXL แล้วกดปุ่ม ADD ข้อมูลก็จะถูกบันทึกลงในชีท DATA คอลลัมน์ F (เสื้อ)
You do not have the required permissions to view the files attached to this post.

User avatar
snasui
Site Admin
Site Admin
Posts: 22348
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Contact:

Re: Add ข้อมูลเพิ่มลงไปในชีท โดยมีเงื่อนไข

#2

Postby snasui » Tue Nov 21, 2017 8:38 pm

:D ค่อย ๆ ถามตอบกันไปครับ

จากไฟล์แนบ ComboBox1 ยังเลือกรายการไม่ได้ ช่วยกำหนดให้เลือกได้แล้วแนบไฟล์มาใหม่ครับ

กรณีเลือก ComboBox1 แล้ว ให้แสดงข้อมูลที่ใด แสดงอย่างไร ช่วยอธิบายเพิ่มด้วยครับ

Benmore
Bronze
Bronze
Posts: 253
Joined: Tue Sep 05, 2017 9:51 am

Re: Add ข้อมูลเพิ่มลงไปในชีท โดยมีเงื่อนไข

#3

Postby Benmore » Wed Nov 22, 2017 8:34 am

snasui wrote::D ค่อย ๆ ถามตอบกันไปครับ

จากไฟล์แนบ ComboBox1 ยังเลือกรายการไม่ได้ ช่วยกำหนดให้เลือกได้แล้วแนบไฟล์มาใหม่ครับ

กรณีเลือก ComboBox1 แล้ว ให้แสดงข้อมูลที่ใด แสดงอย่างไร ช่วยอธิบายเพิ่มด้วยครับ

Code: Select all

Private Sub ComboBox1_Change()

   If ComboBox1.Value = "Section" Then
        ListBox1.RowSource = "DATA!B2:B20"
        Else
        ListBox1.Value = ""
        TextBox1.Value = ""
    End If
     If ComboBox1.Value = "Uniform_Type" Then
        ListBox1.RowSource = "DATA!C2:C20"
        Else
        ListBox1.Value = ""
        TextBox1.Value = ""
    End If
         If ComboBox1.Value = "Size_Shirth" Then
        ListBox1.RowSource = "DATA!G2:G20"
        Else
        ListBox1.Value = ""
        TextBox1.Value = ""
    End If
     If ComboBox1.Value = "Size_Trousere" Then
        ListBox1.RowSource = "DATA!H2:H60"
        Else
        ListBox1.Value = ""
        TextBox1.Value = ""
    End If
End Sub

โค้ด combobox ค่ะ ลองใส่โค้ดแล้วข้อมูลไม่ขึ้นค่ะผิดพลาดตรงไหนค่ะ
เช่น ถ้าเลือก section แล้วกดค้นหา ข้อมูล ในคอลลัมน์ section ทั้งหมดก็จะแสดงในlistboxค่ะ

logic
Silver
Silver
Posts: 559
Joined: Thu Mar 18, 2010 1:57 pm

Re: Add ข้อมูลเพิ่มลงไปในชีท โดยมีเงื่อนไข

#4

Postby logic » Wed Nov 22, 2017 9:09 pm

เลือกแล้วให้มันทำอะไรพอจะเข้าใจอยู่ครับ :)

โค้ดนี้มันใช้เมื่อ ComboBox1 มีการเปลี่ยนแปลงนั่นหมายถึงว่ามันมีค่าให้เลือกก่อน แต่ตอนนี้ค่าที่จะให้เลือกมันยังไม่มีเลยนะครับ

Benmore
Bronze
Bronze
Posts: 253
Joined: Tue Sep 05, 2017 9:51 am

Re: Add ข้อมูลเพิ่มลงไปในชีท โดยมีเงื่อนไข

#5

Postby Benmore » Wed Nov 22, 2017 9:45 pm

logic wrote:เลือกแล้วให้มันทำอะไรพอจะเข้าใจอยู่ครับ :)

โค้ดนี้มันใช้เมื่อ ComboBox1 มีการเปลี่ยนแปลงนั่นหมายถึงว่ามันมีค่าให้เลือกก่อน แต่ตอนนี้ค่าที่จะให้เลือกมันยังไม่มีเลยนะครับ

ต้องแก้ไขตรงไหนค่ะ

User avatar
DhitiBank
Gold
Gold
Posts: 1604
Joined: Mon Oct 15, 2012 12:07 am

Re: Add ข้อมูลเพิ่มลงไปในชีท โดยมีเงื่อนไข

#6

Postby DhitiBank » Wed Nov 22, 2017 11:47 pm

Benmore wrote:ต้องแก้ไขตรงไหนค่ะ


ลองศึกษาคำสั่ง AddItem เข้าคอมโบบ๊อกซ์จากลิ้งค์ด้านล่างครับ

http://www.ozgrid.com/Excel/add-values- ... -excel.htm
https://msdn.microsoft.com/en-us/vba/ac ... hod-access

โดยเขียนคำสั่งไว้ในโพรซีเยอร์ Userform_Initialize ของ UserForm2 ถัดจากบรรทัด Call ClearData ครับ

Benmore
Bronze
Bronze
Posts: 253
Joined: Tue Sep 05, 2017 9:51 am

Re: Add ข้อมูลเพิ่มลงไปในชีท โดยมีเงื่อนไข

#7

Postby Benmore » Thu Nov 23, 2017 8:45 am

DhitiBank wrote:
Benmore wrote:ต้องแก้ไขตรงไหนค่ะ


ลองศึกษาคำสั่ง AddItem เข้าคอมโบบ๊อกซ์จากลิ้งค์ด้านล่างครับ

http://www.ozgrid.com/Excel/add-values- ... -excel.htm
https://msdn.microsoft.com/en-us/vba/ac ... hod-access

โดยเขียนคำสั่งไว้ในโพรซีเยอร์ Userform_Initialize ของ UserForm2 ถัดจากบรรทัด Call ClearData ครับ

Code: Select all

Private Sub ClearData()
    TextBox1.Text = vbNullString
    TextBox1.SetFocus
End Sub
Private Sub btsearch_Click()
On Error Resume Next
       Dim found As Boolean
   Dim r As Range
    For Each r In Sheet2.Columns(A).SpecialCells(xlCellTypeConstants)
    Sheet2.Activate
    Next r
    If found Then
        If Err.Number = 91 Then
        TextBox1.RowSource = "combobox1"
    End If
     Exit Sub
    Else
        MsgBox "äÁèÁÕ¢éÍÁÙÅ"
        TextBox1.Value = ""
        Combobox1.Value = ""
    End If
End Sub
Private Sub CommandButton1_Click()
         Dim CurrentRow As Long
    Sheet2.Activate
    If TextBox1 <> vbNullString Then
        CurrentRow = WorksheetFunction.CountA(Range("A:A")) + 1
        Cells(CurrentRow, 1).Value = TextBox1.Text
        Call ClearData
    Else
        MsgBox ("¡Ãسһé͹¢éÍÁÙÅ")
    End If
End Sub
Private Sub CommandButton2_Click()
    UserForm2.Hide
End Sub

Private Sub UserForm_Initialize()
Call ClearData
Combobox1.AddItem "Section"
Combobox1.AddItem "Uniform_Type"
Combobox1.AddItem "Size_Shirth"
Combobox1.AddItem "Size_Trousere"
Combobox1.AddItem "Group"
Combobox1.AddItem "Position"
Combobox1.AddItem "DEPT"
Combobox1.AddItem "Uniform_No_F"
Combobox1.AddItem "Uniform_No_M"
End Sub
You do not have the required permissions to view the files attached to this post.


logic
Silver
Silver
Posts: 559
Joined: Thu Mar 18, 2010 1:57 pm

Re: Add ข้อมูลเพิ่มลงไปในชีท โดยมีเงื่อนไข

#9

Postby logic » Fri Nov 24, 2017 11:27 am

ไม่บอกเสียหน่อยหรือครับว่าทำอะไรไปแล้ว ยังติดเรื่องใด :roll:

Benmore
Bronze
Bronze
Posts: 253
Joined: Tue Sep 05, 2017 9:51 am

Re: Add ข้อมูลเพิ่มลงไปในชีท โดยมีเงื่อนไข

#10

Postby Benmore » Fri Nov 24, 2017 11:48 am

logic wrote:ไม่บอกเสียหน่อยหรือครับว่าทำอะไรไปแล้ว ยังติดเรื่องใด :roll:

ลองปรับแล้วค่ะ ก็ยังรันไม่ขึ้นอยู่ดีค่ะ
ติดตรงเลือกหัวข้อใน combobox1 แล้วให้ข้อมูลในชีท DATA ที่มีหัวข้อตรงกับที่เลือกมาแสดงใน listbox ไม่ได้ค่ะ error ตรง

Code: Select all

 nRow = Sheet2.Columns(A).Find(Combobox1.Value).Row

:arrow: ติดตรงเพิ่มข้อมูลงในชีท DATA ค่ะ ให้เพิ่มข้อมูลลงตามหัวข้อที่เราเลือกค่ะ
You do not have the required permissions to view the files attached to this post.

User avatar
DhitiBank
Gold
Gold
Posts: 1604
Joined: Mon Oct 15, 2012 12:07 am

Re: Add ข้อมูลเพิ่มลงไปในชีท โดยมีเงื่อนไข

#11

Postby DhitiBank » Fri Nov 24, 2017 1:28 pm

ลองแบบนี้ครับ

ผมปรับการใส่รายการในคอมโบบ๊อกซ์ให้ใหม่ ควรใส่จากหัวคอลัมน์จริงๆ ในชีทครับ เพราะถ้าหากเราเขียนไปในโค้ดเองอาจมีปัญหาได้เวลามีใครไปเปลี่ยนหัวคอลัมน์โดยไม่ตั้งใจ

Code: Select all

Private Sub UserForm_Initialize()
    Dim r As Range, rTarget As Range
    Call ClearData
    With Sheets("data")
        Set rTarget = .Range(.Range("a1"), .Cells(1, .Columns.Count).End(xlToLeft)) _
            .SpecialCells(xlCellTypeVisible)
        Set rTarget = rTarget.SpecialCells(xlCellTypeConstants)
    End With
    For Each r In rTarget
        Combobox1.AddItem r.Value
    Next r
End Sub


ส่วนด้านล่างเป็นการใส่รายการเข้าไปใน Listbox1 เมื่อกดปุ่ม search

Code: Select all

Private Sub btsearch_Click()
    Dim txt As String, r As Range, rList As Range
    txt = Combobox1.Value
    With Sheets("data")
        Set r = .Rows(1).Find(txt)
        Set rList = .Range(r.Offset(1, 0), .Cells(.Rows.Count, r.Column).End(xlUp)) _
            .SpecialCells(xlCellTypeConstants)
    End With
    ListBox1.Clear
    For Each r In rList
        ListBox1.AddItem r.Value
    Next r
    'If Err.Number = 91 Then
    '    ListBox1.RowSource = "Combobox1.Value"
    '    MsgBox "ไม่มีข้อมูล"
    'End If
End Sub

Benmore
Bronze
Bronze
Posts: 253
Joined: Tue Sep 05, 2017 9:51 am

Re: Add ข้อมูลเพิ่มลงไปในชีท โดยมีเงื่อนไข

#12

Postby Benmore » Fri Nov 24, 2017 2:38 pm

ตรงนี้ทำได้แล้วขอบคุณมากๆค่ะ
รบกวนถามต่อค่ะ พอดีโค้ดตรงส่วน ADD มันบันทึกไม่ลงชีท "การเบิก" แล้วก็แสดงข้อมูลแปลกๆใน listbox ค่ะ

Code: Select all

'ADD
Private Sub CommandButton1_Click()
    Str_text = Combobox1.Text & " " & TextBox1.Text
    With ListBox1
        .AddItem Str_text
    End With
    Dim strFind     As String
    Dim oRng        As Range
    Dim fRng        As Range
    Dim i           As Long
    strFind = Combobox1.Value ' string to find
    Set oRng = Worksheets("DATA").Rows(1) ' column to search
    Set fRng = oRng.Cells(oRng.Cells.Count)
    For i = 1 To Application.CountIf(oRng, strFind & "*")
        Set fRng = oRng.Cells.Find(What:=strFind, _
                                   LookIn:=xlValues, _
                                   LookAt:=xlPart, _
                                   After:=fRng, _
                                   MatchCase:=False)
        If Not fRng Is Nothing Then
            With ListBox1
                .AddItem fRng.Offset(1, 0).Value
                MsgBox ("ºÑ¹·Ö¡¢éÍÁÙÅàÃÕºÃéÍÂ")
        Call ClearData
            End With
            Else
        MsgBox ("¡Ãسһé͹¢éÍÁÙÅ")
       End If
    Next i
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: 22348
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Contact:

Re: Add ข้อมูลเพิ่มลงไปในชีท โดยมีเงื่อนไข

#13

Postby snasui » Sun Nov 26, 2017 10:51 am

:D Code ตามโพสต์ #12 ไม่มีบรรทัดใดที่เป็นการนำค่าไปบันทึกในชีต "การเบิก" ไฟล์ที่แนบมาก็ไม่มีชีต "การเบิก" แต่อย่างใด กรุณาเขียน Code เพิ่มเติมและแนบไฟล์มาใหม่ครับ

Benmore
Bronze
Bronze
Posts: 253
Joined: Tue Sep 05, 2017 9:51 am

Re: Add ข้อมูลเพิ่มลงไปในชีท โดยมีเงื่อนไข

#14

Postby Benmore » Tue Nov 28, 2017 8:19 am

Code: Select all

'ADD
Private Sub CommandButton1_Click()
    Str_text = ComboBox1.Text & " " & TextBox1.Text
    With ListBox1
        .AddItem Str_text
    End With
    Dim strFind     As String
    Dim oRng        As Range
    Dim fRng        As Range
    Dim i           As Long
    strFind = ComboBox1.Value ' string to find
    Set oRng = Worksheets("DATA").Rows(1) ' column to search
    Set fRng = oRng.Cells(oRng.Cells.Count)
    For i = 1 To Application.CountIf(oRng, strFind & "*")
        Set fRng = oRng.Cells.Find(What:=strFind, _
                                   LookIn:=xlValues, _
                                   LookAt:=xlPart, _
                                   After:=fRng, _
                                   MatchCase:=False)
        If Not fRng Is Nothing Then
            With ListBox1
                .AddItem fRng.Offset(1, 0).Value
                MsgBox ("ºÑ¹·Ö¡¢éÍÁÙÅàÃÕºÃéÍÂ")
        Call ClearData
            End With
            Else
        MsgBox ("¡Ãسһé͹¢éÍÁÙÅ")
       End If
    Next i
End Sub

รบกวนดูโค้ดให้หน่อยค่ะ ถ้าต้องการ add ข้อมูลตามที่เลือกหัวข้อใน combobox ต้องเพิ่มโค้ดตรงไหนเข้าไปบ้างค่ะ
ตัวอย่าง :arrow: ต้องการ add ข้อมูล Uniform_Type เพิ่ม รองเท้า เข้าไปในคอลลัมน์ Uniform_Type ในชีท DATA พร้อมแสดงใน listbox ด้วยค่ะ
You do not have the required permissions to view the files attached to this post.

Benmore
Bronze
Bronze
Posts: 253
Joined: Tue Sep 05, 2017 9:51 am

Re: Add ข้อมูลเพิ่มลงไปในชีท โดยมีเงื่อนไข

#15

Postby Benmore » Tue Dec 05, 2017 5:26 pm

Benmore wrote:

Code: Select all

'ADD
Private Sub CommandButton1_Click()
    Str_text = ComboBox1.Text & " " & TextBox1.Text
    With ListBox1
        .AddItem Str_text
    End With
    Dim strFind     As String
    Dim oRng        As Range
    Dim fRng        As Range
    Dim i           As Long
    strFind = ComboBox1.Value ' string to find
    Set oRng = Worksheets("DATA").Rows(1) ' column to search
    Set fRng = oRng.Cells(oRng.Cells.Count)
    For i = 1 To Application.CountIf(oRng, strFind & "*")
        Set fRng = oRng.Cells.Find(What:=strFind, _
                                   LookIn:=xlValues, _
                                   LookAt:=xlPart, _
                                   After:=fRng, _
                                   MatchCase:=False)
        If Not fRng Is Nothing Then
            With ListBox1
                .AddItem fRng.Offset(1, 0).Value
                MsgBox ("ºÑ¹·Ö¡¢éÍÁÙÅàÃÕºÃéÍÂ")
        Call ClearData
            End With
            Else
        MsgBox ("¡Ãسһé͹¢éÍÁÙÅ")
       End If
    Next i
End Sub

รบกวนดูโค้ดให้หน่อยค่ะ ถ้าต้องการ add ข้อมูลตามที่เลือกหัวข้อใน combobox ต้องเพิ่มโค้ดตรงไหนเข้าไปบ้างค่ะ
ตัวอย่าง :arrow: ต้องการ add ข้อมูล Uniform_Type เพิ่ม รองเท้า เข้าไปในคอลลัมน์ Uniform_Type ในชีท DATA พร้อมแสดงใน listbox ด้วยค่ะ

รบกวนตรวจสอบโค้ดให้หน่อยค่ะ :D :D

logic
Silver
Silver
Posts: 559
Joined: Thu Mar 18, 2010 1:57 pm

Re: Add ข้อมูลเพิ่มลงไปในชีท โดยมีเงื่อนไข

#16

Postby logic » Wed Dec 06, 2017 9:00 am

ลองดูครับ :)

Code: Select all

'ADD
Private Sub CommandButton1_Click()
'    Str_text = Combobox1.Text & " " & TextBox1.Text
'    With ListBox1
'        .AddItem Str_text
'    End With
    Dim strFind     As String
    Dim oRng        As Range
    Dim fRng        As Range
    Dim i           As Long
    strFind = Combobox1.Value ' string to find
    Set oRng = Worksheets("DATA").Rows(1) ' column to search
    Set fRng = oRng.Cells(oRng.Cells.Count)
    For i = 1 To Application.CountIf(oRng, strFind & "*")
        Set fRng = oRng.Cells.Find(What:=strFind, _
                                   LookIn:=xlValues, _
                                   LookAt:=xlPart, _
                                   After:=fRng, _
                                   MatchCase:=False)
        If Not fRng Is Nothing Then
            fRng.End(xlDown).Offset(1, 0).Value = Me.TextBox1.Text
            With ListBox1
                .AddItem Me.TextBox1.Text 'fRng.Offset(1, 0).Value
                MsgBox ("บันทึกข้อมูลเรียบร้อย")
           Call ClearData
            End With
         Else
           MsgBox ("กรุณาป้อนข้อมูล")
         End If
    Next i
End Sub

Benmore
Bronze
Bronze
Posts: 253
Joined: Tue Sep 05, 2017 9:51 am

Re: Add ข้อมูลเพิ่มลงไปในชีท โดยมีเงื่อนไข

#17

Postby Benmore » Wed Dec 06, 2017 11:15 am

ตรงปุ่ม ADD ทำได้แล้วขอบคุณมากๆค่ะ
รบกวนสอบถามต่อค่ะ :D
รบกวนช่วยดูโค้ดในปุ่ม Delete

Code: Select all

Private Sub CommandButton3_Click()
Dim lng As Long
     Answer = MsgBox("Are you sure you want to delete data from database?", 4 + 48, "Delete database")
    If Answer = 6 Then
     lng = Application.Match(ListBox1.Value, Worksheets("DATA").Range("E:E"), 0)
     Worksheets("DATA").Rows(lng).Delete
     Unload Me
    ElseIf Answer = 7 Then
    End If
    End Sub
ให้หน่อยค่ะ พอดีลองเอาโค้ดที่หาได้แล้วมาปรับก็ยังลบไม่ได้ค่ะ :D
You do not have the required permissions to view the files attached to this post.

User avatar
snasui
Site Admin
Site Admin
Posts: 22348
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Contact:

Re: Add ข้อมูลเพิ่มลงไปในชีท โดยมีเงื่อนไข

#18

Postby snasui » Wed Dec 06, 2017 7:25 pm

:D ต้องการจะลบข้อมูลใด อย่างไร กรุณาเขียนอธิบายมาอย่างละเอียดครับ

Code ที่เขียนมานั้นเป็นการลบค่าใน ListBox1 ไม่ทราบว่าต้องการที่จะลบอย่างไร ลบทั้งหมด หรือ ลบรายการที่เลือก หรือ อื่นใดครับ

นอกจากนี้ควรยกตัวอย่างรายการที่จะลบมาด้วย จะได้สะดวกในการทดสอบ ทดลอง และการเข้าถึงปัญหาครับ

Benmore
Bronze
Bronze
Posts: 253
Joined: Tue Sep 05, 2017 9:51 am

Re: Add ข้อมูลเพิ่มลงไปในชีท โดยมีเงื่อนไข

#19

Postby Benmore » Thu Dec 07, 2017 8:30 am

ลบรายการที่เลือกค่ะ เช่น เลือก XXL พอกดปุ่ม Delete XXL ก็ถูกลบค่ะ

User avatar
snasui
Site Admin
Site Admin
Posts: 22348
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Contact:

Re: Add ข้อมูลเพิ่มลงไปในชีท โดยมีเงื่อนไข

#20

Postby snasui » Sat Dec 09, 2017 11:48 am

:D ตัวอย่าง Code การลบรายการใน ListBox เฉพาะรายการที่เลือกพร้อมลบรายการในชีต DATA ครับ

Code: Select all

Dim lng As Long
Dim i As Long, j As Long

With Sheets("DATA")
    If Application.CountIf(.Rows(1), Me.Combobox1.Text) = 0 Then
        Exit Sub
    Else
        j = Application.Match(Me.Combobox1.Text, .Rows(1), 0)
    End If
End With
i = Me.ListBox1.ListIndex
Answer = MsgBox("Are you sure you want to delete data from database?", 4 + 48, "Delete database")
If Answer = 6 Then
    If i <> -1 Then
        lng = Application.Match(Me.ListBox1.List(i), Sheets("DATA").Columns(j), 0)
        Worksheets("DATA").Cells(lng, j).Delete
        Me.ListBox1.RemoveItem Me.ListBox1.ListIndex
        Unload Me
    End If
End If


Return to “Excel”

Who is online

Users browsing this forum: Google [Bot] and 36 guests