เพื่อมุ่งให้เกิดคุณภาพจากการอบรมสูงสุด Excel Expert Training ให้การอบรม Excel กลุ่มเล็กๆ ไม่เกิน 6 คนทุกคนสามารถเรียนรู้ Excel อย่างใกล้ชิด จะมาคนเดียวหรือมาเป็นกลุ่มแล้วนัดวันอบรมแบบส่วนตัวก็ได้ ผู้เข้าอบรมทุกคนสามารถติดตามเนื้อหาที่อบรมได้อย่างชัดเจนจากจอภาพด้านหน้าของตัวเอง
Results 1 to 3 of 3

Thread: VBA : IF ขอความช่วยเหลือเขียน Code ให้สั้นลง

  1. #1
    tusompong
    Guest

    VBA : IF ขอความช่วยเหลือเขียน Code ให้สั้นลง

    เรียน ทุกท่าน
    code ที่เขียนไว้นี้สามารถใช้งานได้ครับ แต่อยากเขียน code ให้สั้นลงและยืดหยุ่นมากกว่านี้ครับ ตัวอย่าง Code
    Code:
     Private Sub ComboBox1_Change()
        ThisWorkbook.Sheets("Form").Range("B1").Value = ComboBox1.Value
     
        If Range("B3").Value = 0 Then ListBox1.Selected(0) = False
        If Range("B3").Value = 1 Then ListBox1.Selected(0) = True
     
        If Range("B4").Value = 0 Then ListBox1.Selected(1) = False
        If Range("B4").Value = 1 Then ListBox1.Selected(1) = True
     
        If Range("B5").Value = 0 Then ListBox1.Selected(2) = False
        If Range("B5").Value = 1 Then ListBox1.Selected(2) = True
     
        If Range("B6").Value = 0 Then ListBox1.Selected(3) = False
        If Range("B6").Value = 1 Then ListBox1.Selected(3) = True
     
        If Range("B7").Value = 0 Then ListBox1.Selected(4) = False
        If Range("B7").Value = 1 Then ListBox1.Selected(4) = True
     
        If Range("B8").Value = 0 Then ListBox1.Selected(5) = False
        If Range("B8").Value = 1 Then ListBox1.Selected(5) = True
     
        If Range("B9").Value = 0 Then ListBox1.Selected(6) = False
        If Range("B9").Value = 1 Then ListBox1.Selected(6) = True
     
        If Range("B10").Value = 0 Then ListBox1.Selected(7) = False
        If Range("B10").Value = 1 Then ListBox1.Selected(7) = True
     
        If Range("B11").Value = 0 Then ListBox1.Selected(8) = False
        If Range("B11").Value = 1 Then ListBox1.Selected(8) = True
     
        If Range("B12").Value = 0 Then ListBox1.Selected(9) = False
        If Range("B12").Value = 1 Then ListBox1.Selected(9) = True
     
        If Range("B13").Value = 0 Then ListBox1.Selected(10) = False
        If Range("B13").Value = 1 Then ListBox1.Selected(10) = True
     
        If Range("B14").Value = 0 Then ListBox1.Selected(11) = False
        If Range("B14").Value = 1 Then ListBox1.Selected(11) = True
     
        If Range("B15").Value = 0 Then ListBox1.Selected(12) = False
        If Range("B15").Value = 1 Then ListBox1.Selected(12) = True
     
        If Range("B16").Value = 0 Then ListBox1.Selected(13) = False
        If Range("B16").Value = 1 Then ListBox1.Selected(13) = True
     
        If Range("B17").Value = 0 Then ListBox1.Selected(14) = False
        If Range("B17").Value = 1 Then ListBox1.Selected(14) = True
     
        If Range("B18").Value = 0 Then ListBox1.Selected(15) = False
        If Range("B18").Value = 1 Then ListBox1.Selected(15) = True
     
        If Range("B19").Value = 0 Then ListBox1.Selected(16) = False
        If Range("B19").Value = 1 Then ListBox1.Selected(16) = True
     
        If Range("B20").Value = 0 Then ListBox1.Selected(17) = False
        If Range("B20").Value = 1 Then ListBox1.Selected(17) = True
     
        If Range("B21").Value = 0 Then ListBox1.Selected(18) = False
        If Range("B21").Value = 1 Then ListBox1.Selected(18) = True
     
        If Range("B22").Value = 0 Then ListBox1.Selected(19) = False
        If Range("B22").Value = 1 Then ListBox1.Selected(19) = True
     
        If Range("B23").Value = 0 Then ListBox1.Selected(20) = False
        If Range("B23").Value = 1 Then ListBox1.Selected(20) = True
     
        If Range("B24").Value = 0 Then ListBox1.Selected(21) = False
        If Range("B24").Value = 1 Then ListBox1.Selected(21) = True
     
        If Range("B25").Value = 0 Then ListBox1.Selected(22) = False
        If Range("B25").Value = 1 Then ListBox1.Selected(22) = True
     
        If Range("B26").Value = 0 Then ListBox1.Selected(23) = False
        If Range("B26").Value = 1 Then ListBox1.Selected(23) = True
     
        If Range("B27").Value = 0 Then ListBox1.Selected(24) = False
        If Range("B27").Value = 1 Then ListBox1.Selected(24) = True
     
        If Range("B28").Value = 0 Then ListBox1.Selected(25) = False
        If Range("B28").Value = 1 Then ListBox1.Selected(25) = True
     
        If Range("B29").Value = 0 Then ListBox1.Selected(26) = False
        If Range("B29").Value = 1 Then ListBox1.Selected(26) = True
     
        If Range("B30").Value = 0 Then ListBox1.Selected(27) = False
        If Range("B30").Value = 1 Then ListBox1.Selected(27) = True
     
        If Range("B31").Value = 0 Then ListBox1.Selected(28) = False
        If Range("B31").Value = 1 Then ListBox1.Selected(28) = True
     
        If Range("B32").Value = 0 Then ListBox1.Selected(29) = False
        If Range("B32").Value = 1 Then ListBox1.Selected(29) = True
     
     End Sub
    ขอขอบคุณล่วงหน้าครับ

  2. #2
    อรวีร์
    Guest

    Smile

    ถ้าช่วง B3:B32 มีค่าเป็น 0 หรือ 1 เท่านั้น ใช้ Code นี้ค่ะ
    Code:
    Private Sub ComboBox1_Change( )
    Dim RowNo As Long
    ThisWorkbook.Sheets("Form").Range("B1").Value = ComboBox1.Value
    For RowNo = 3 To 32
        ListBox1.Selected(RowNo - 3) = (Cells(RowNo, 2).Value = 1)
    Next
    End Sub
    แต่ถ้าอาจมีค่าอื่นได้อีก แต่เราต้องการให้มีผลเฉพาะ 0 กับ 1 ใช้ Code นี้ค่ะ
    Code:
    Private Sub ComboBox1_Change( )
    Dim RowNo As Long
    ThisWorkbook.Sheets("Form").Range("B1").Value = ComboBox1.Value
    For RowNo = 3 To 32
        If Cells(RowNo, 2).Value = 0 Or Cells(RowNo, 2).Value = 1 Then _
            ListBox1.Selected(RowNo - 3) = (Cells(RowNo, 2).Value = 1)
    Next
    End Sub

  3. #3
    tusompong
    Guest

    ขอบคุณครับ

    ขอบคุณพระคุณ คุณอรวีร์ มาก ๆ ครับ

Similar Threads

  1. Replies: 11
    Last Post: 8 Apr 2009, 12:07
  2. เขียน Code ให้สั้นลง แทนการใช้ With
    By Nongmod in forum Excel Expert Forum Library 2012 - 2007
    Replies: 2
    Last Post: 22 Aug 2007, 09:10

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •