: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

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

ฟอรัมถาม-ตอบปัญหาการใช้งาน 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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
Benmore
Bronze
Bronze
Posts: 254
Joined: Tue Sep 05, 2017 9:51 am

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

#1

Post by Benmore »

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: 30736
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

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

#2

Post by snasui »

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

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

กรณีเลือก ComboBox1 แล้ว ให้แสดงข้อมูลที่ใด แสดงอย่างไร ช่วยอธิบายเพิ่มด้วยครับ
Benmore
Bronze
Bronze
Posts: 254
Joined: Tue Sep 05, 2017 9:51 am

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

#3

Post by Benmore »

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ค่ะ
User avatar
logic
Gold
Gold
Posts: 1506
Joined: Thu Mar 18, 2010 1:57 pm
Excel Ver: 365

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

#4

Post by logic »

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

โค้ดนี้มันใช้เมื่อ ComboBox1 มีการเปลี่ยนแปลงนั่นหมายถึงว่ามันมีค่าให้เลือกก่อน แต่ตอนนี้ค่าที่จะให้เลือกมันยังไม่มีเลยนะครับ
Benmore
Bronze
Bronze
Posts: 254
Joined: Tue Sep 05, 2017 9:51 am

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

#5

Post by Benmore »

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

โค้ดนี้มันใช้เมื่อ ComboBox1 มีการเปลี่ยนแปลงนั่นหมายถึงว่ามันมีค่าให้เลือกก่อน แต่ตอนนี้ค่าที่จะให้เลือกมันยังไม่มีเลยนะครับ
ต้องแก้ไขตรงไหนค่ะ
User avatar
DhitiBank
Gold
Gold
Posts: 1676
Joined: Mon Oct 15, 2012 12:07 am

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

#6

Post by DhitiBank »

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: 254
Joined: Tue Sep 05, 2017 9:51 am

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

#7

Post by Benmore »

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.
User avatar
logic
Gold
Gold
Posts: 1506
Joined: Thu Mar 18, 2010 1:57 pm
Excel Ver: 365

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

#9

Post by logic »

ไม่บอกเสียหน่อยหรือครับว่าทำอะไรไปแล้ว ยังติดเรื่องใด :roll:
Benmore
Bronze
Bronze
Posts: 254
Joined: Tue Sep 05, 2017 9:51 am

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

#10

Post by Benmore »

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: 1676
Joined: Mon Oct 15, 2012 12:07 am

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

#11

Post by DhitiBank »

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

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

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: 254
Joined: Tue Sep 05, 2017 9:51 am

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

#12

Post by Benmore »

ตรงนี้ทำได้แล้วขอบคุณมากๆค่ะ
รบกวนถามต่อค่ะ พอดีโค้ดตรงส่วน 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: 30736
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

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

#13

Post by snasui »

:D Code ตามโพสต์ #12 ไม่มีบรรทัดใดที่เป็นการนำค่าไปบันทึกในชีต "การเบิก" ไฟล์ที่แนบมาก็ไม่มีชีต "การเบิก" แต่อย่างใด กรุณาเขียน Code เพิ่มเติมและแนบไฟล์มาใหม่ครับ
Benmore
Bronze
Bronze
Posts: 254
Joined: Tue Sep 05, 2017 9:51 am

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

#14

Post by Benmore »

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: 254
Joined: Tue Sep 05, 2017 9:51 am

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

#15

Post by Benmore »

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
User avatar
logic
Gold
Gold
Posts: 1506
Joined: Thu Mar 18, 2010 1:57 pm
Excel Ver: 365

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

#16

Post by logic »

ลองดูครับ :)

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: 254
Joined: Tue Sep 05, 2017 9:51 am

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

#17

Post by Benmore »

ตรงปุ่ม 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: 30736
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

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

#18

Post by snasui »

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

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

นอกจากนี้ควรยกตัวอย่างรายการที่จะลบมาด้วย จะได้สะดวกในการทดสอบ ทดลอง และการเข้าถึงปัญหาครับ
Benmore
Bronze
Bronze
Posts: 254
Joined: Tue Sep 05, 2017 9:51 am

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

#19

Post by Benmore »

ลบรายการที่เลือกค่ะ เช่น เลือก XXL พอกดปุ่ม Delete XXL ก็ถูกลบค่ะ
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: Add ข้อมูลเพิ่มลงไปในชีท โดยมีเงื่อนไข

#20

Post by snasui »

: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
Post Reply