: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

ช่วยด้วยครับอยากให้รายการใน ListBox โชว์ให้ครบครับ

ฟอรัมถาม-ตอบปัญหาการใช้งาน 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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
Wara
Member
Member
Posts: 44
Joined: Wed Jan 31, 2018 11:25 pm

ช่วยด้วยครับอยากให้รายการใน ListBox โชว์ให้ครบครับ

#1

Post by Wara »

สวัสดีครับอาจารย์ทุกท่านวันนี้ผมมีเรื่องมาปรึกษา ผมลองศึกษาการเขียน VBA จากกระทู้ของเพื่อนและอาจารย์ตอนนี้ผมติดปัญกาโค้ยอยู่ตัวนึงครับผมพยามแก้มาหลายวันแล้วซื้อหนังสือมาอ่านก็ทำไม่ได้ โค้ดรันได้ปรกติแต่ไม่ตรงกับความต้องการ ความต้องการของผมคือ
1.เมื่อพิมพ์คำค้นหาใน txtbox ให้ข้อมูไปโชว์ที่ ListBox
ตอนนี้ข้อมูลโชว์ครับแต่ขึ้นแถวเดียวครับ รบกวนอาจารย์ช่วยดูและปรับโค้ดให้หน่อยครับ
ผมแนบไฟล์ มาด้วยครับ

Code: Select all

Private Sub TextBox1_Change()
Dim i As Range, rAll As Range
    If TextBox1.Text <> "" Then
        ListBox1.Clear
        With Sheets("hit91")
            Set rAll = .Range("A2", .Range("A" & .Rows.Count).End(xlUp))
        End With
        For Each i In rAll
            A = Len(TextBox1.Text)
            If Left(i.Value, A) = Left(TextBox1.Text, A) Then
              ListBox1.AddItem i.Value

            End If
        Next i
    End If
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: ช่วยด้วยครับอยากให้รายการใน ListBox โชว์ให้ครบครับ

#2

Post by snasui »

:D ตัวอย่าง Code ครับ

Code: Select all

Dim r As Range, rAll As Range, j As Integer
If TextBox1.Text <> "" Then
    ListBox1.Clear
    With Sheets("hit91")
        Set rAll = .Range("A2:I55", .Range("A" & .Rows.Count).End(xlUp))
    End With
    For Each r In rAll
        A = Len(TextBox1.Text)
        If Left(r.Value, A) = Left(TextBox1.Text, A) Then
            With ListBox1
                .ColumnWidths = "50 pt;50 pt;50 pt;50 pt;50 pt;50 pt;50 pt;50 pt;50 pt;50 pt"
                .AddItem
                .List(j, 0) = r.Value
                .List(j, 1) = r.Offset(0, 1).Value
                .List(j, 2) = r.Offset(0, 2).Value
                '...Other code
                j = j + 1
            End With
        End If
    Next r
End If
Wara
Member
Member
Posts: 44
Joined: Wed Jan 31, 2018 11:25 pm

Re: ช่วยด้วยครับอยากให้รายการใน ListBox โชว์ให้ครบครับ

#3

Post by Wara »

ได้แล้วครับผม
ขอบคุณครับ
Wara
Member
Member
Posts: 44
Joined: Wed Jan 31, 2018 11:25 pm

Re: ช่วยด้วยครับอยากให้รายการใน ListBox โชว์ให้ครบครับ

#4

Post by Wara »

อาจารย์ครับผมรบกวนอีกเรื่องครับช่วยแนะนำหนังสือเกี่ยวกับ VBA ให้หน่อยครับ
เพราะหนังสือที่ผมซื้อมายังไม่ค่อยตรงความต้องการเท่าไหร่ครับ อยากได้ประมาณ
การประกาศตัวแปร เครื่องมือ และคำสั่งต่างๆ ค้นหาใช้คำสั่งอะไร ค้นหาและแก้ไขใช้คำสั่งอะไร ประมาณนี้ครับ ผมเริ่มศึกษาการเขียน VBA บางครั้งไม่เข้าใจครับ และหาคำตอบไม่ได้ครับ
ขอบคุณครับ
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: ช่วยด้วยครับอยากให้รายการใน ListBox โชว์ให้ครบครับ

#5

Post by snasui »

:D ผมไม่ได้อ่านหนังสือไทยก็เลยไม่สามารถแนะนำให้ได้ ถ้าเป็นหนังสือภาษาอังกฤษลองศึกษาของ John Walkenbach ครับ

ในหนังสืออาจจะมีไม่ครบทุกเรื่องเนื่องจากมีรายละเอียดมาก หากเป็นการเขียนโปรแกรม หนังสือฝรั่งโดยมากจะละเอียดกว่าหนังสือไทย และหากมีเรื่องใดที่หาคำตอบไม่ได้ให้ลองเขียน Code มาก่อนแล้วสอบถามจากฟอรัมนี้ครับ
Wara
Member
Member
Posts: 44
Joined: Wed Jan 31, 2018 11:25 pm

Re: ช่วยด้วยครับอยากให้รายการใน ListBox โชว์ให้ครบครับ

#7

Post by Wara »

สวัสดีครับอาจารย์ผมมีเรื่องมาปรึกษาต่อครับผมได้ทำ Userfom ขึ้นมาเพื่อใส่ password พอใส่ Password แล้วก็จะมี Userfom 2 ขึ้นมาเพื่อให้แก้ไขหรือเพิ่มข้อมูลโดยที่ผมจะซ่อน sheet data เเละผมลองเขียโค้ดต่อว่าเมื่อกรอกเสร็จแล้วให้บันทึกวันเวลาที่เข้าใช้ไปใน sheet username และมีผมที่เข้าไปดูข้อมูลได้คนเดียวในส่วนที่กล่ามาผมทำได้หมดแล้วแต่ไม่ทราบว่าถูกต้องหรือไม่ รบกวนอาจารย์ช่วยแนะนำให้ผมหน่อย ในส่วนที่ผมยังทำไม่ได้คือ
1.เมื่อกรอก passwordแล้วให้ขึ้น"******" ผมเข้าไปดูหลายตัวอย่างแล้วแต่ยังทำไม่ได้
2.คนที่จะเข้ามาแก้ข้อมูลและบันทึกได้มีหลายคนผมอยากให้มี password ของใครของมันเพื่อที่ผมจะเข้ามาดูว่าใครเข้ามาแก้ไขตอนไหนในส่วนนี้ผมลองหลายวิธีแล้วยังไม่ได้เลยครับ

Code: Select all

Private Sub CommandButton1_Click()
    Dim username As String
    Dim i As Integer
    Dim irow As Long
    Dim ws As Worksheet
    username = TextBox1.Text
    If username = "1234" Then
        MsgBox "ยินดีต้อนรับเข้าสู่ระบบคุณภาพ", vbInformation
        Unload Me 'unload this
        UserForm2.Show
    Else
        i = i + 1
        If i < 3 Then
            MsgBox "Username  ไม่ถูกต้อง", vbCritical
            'now close the workbook
        Else
            Application.DisplayAlerts = False
            Application.Quit
        End If
    End If
    Set ws = Worksheets("username")
    'find first empty row in username
    irow = ws.Cells(Rows.Count, 1) _
        .End(xlUp).Offset(1, 0).Row
    'copy the data to the username
    
    ws.Cells(irow, 1).Value = Date
    ws.Cells(irow, 2).Value = Time
    ws.Cells(irow, 3).Value = Me.TextBox1.Value
End Sub
ส่วนอันนี้คือโค๊ตที่ผมลองแกะออกมา
รบกวนช่วยตรวจสอบและชี้แนะด้วยครับ
password 1234
ขอบคุณครับ
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: ช่วยด้วยครับอยากให้รายการใน ListBox โชว์ให้ครบครับ

#8

Post by snasui »

:D วิธีการกำหนด Password ให้แสดงเป็นดอกจัน ดูตามภาพด้านล่างครับ

ในส่วนของการแก้ไขหลายคนและมีหลาย Password จะต้องมีชีตสำหรับเป็น Table ในการเก็บ Password และ Username ซึ่งผู้ใช้จะต้องกรอก หากพบว่าตรงก็ค่อยเข้าระบบได้และให้เก็บ Username และ Password ไว้ในตัวแปรซึ่งจะนำไปบันทึกไว้เป็นประวัติว่าผู้ใช้เป็นใคร ในส่วนนี้ลองทำมาเองก่อน ติดตรงไหนค่อยถามกันต่อครับ
You do not have the required permissions to view the files attached to this post.
Wara
Member
Member
Posts: 44
Joined: Wed Jan 31, 2018 11:25 pm

Re: ช่วยด้วยครับอยากให้รายการใน ListBox โชว์ให้ครบครับ

#9

Post by Wara »

ครับผมขอบคุณครับ
Post Reply