Page 1 of 2

Add value in ListBox

Posted: Thu Jan 05, 2012 4:48 am
by ANUSARA
อยากทำให้ข้อมูลที่เรา add ลงใน UserForm1 Page1 ไปขึ้น show ในListBox ของpage2 ของ UserForm1 เมื่อคลิกปุ่ม
Add New Value to Database
เพื่อให้เวลาคลิกเลือกดู ค่าเก่าที่เคย add ข้อมูลไว้ใน Select user value in database
ลองใส่คำสั่งที่ปุ่ม Add New Value to Database แล้วแต่ compile error ค่ะ


รบกวนช่วยดูว่าต้องแก้ไขตรงไหนค่ะ

ขอบคุณนะคะ

แนบไฟล์มาด้วยนะคะ

Re: Add value in ListBox

Posted: Thu Jan 05, 2012 9:53 am
by snasui
:D สำหรับ ListBox สามารถใช้การ AddItem เข้าไปได้ครับ

การกำหนดค่าให้กับ Object โดยอ้าง Object อื่น ๆ ก็สามารถอ้างถึงโดยตรง ยกตัวอย่างเช่น

ต้องการให้ข้อความใน TextBox2 มีค่าเหมือน TextBox1 สามารถใช้ Statement ตามด้านล่าง

Code: Select all

TextBox2.Text = TextBox1.Text
หากต้องการให้ ListBox1 มีข้อความเหมือน TextBox1 สามารถใช้ Statement ตามด้านล่าง

Code: Select all

ListBox1.AddItem TextBox1.Text
Call นั้นใช้สำหรับการเรียนใช้ฟังก์ชั่นหรือ Procedure จะใช้เช่นตัวอย่างที่แนบคือ Call Userform ไม่ได้ครับ

Re: Add value in ListBox

Posted: Thu Jan 05, 2012 11:04 am
by ANUSARA
ลองใส่ code
TextBox8_Name = ListBox1
ListBox1.AddItem = TextBox8_Name
เพิ่มตามที่แนะนำแล้วค่ะแต่ยังขึ้น compile error ค่ะ และค่าก็ยังไม่แสดงใน ListBox ค่ะ ต้องแก้ไขต่ออย่างไรคะ

Private Sub CommandButton1_Click()
Dim iRow As Long
Dim ws As Worksheet
Set ws = Worksheets("Database")

'check for a name
If Trim(Me.TextBox8_Name.Value) = "" Then
Me.TextBox8_Name.SetFocus
MsgBox "Please enter a name of raw material or chemical"
Exit Sub
End If

'check for a CF
If Trim(Me.TxtBox3.Value) = "" Then
Me.TxtBox3.SetFocus
MsgBox "Please enter value"
Exit Sub

End If

If Not IsNumeric(TxtBox3) Then
MsgBox "Please enter numeric."
Me.TxtBox3.Text = "0.00"
Exit Sub
End If

Answer = MsgBox("Do you want save change?", 1 + 32, "Create record")

If Answer = 1 Then

'find first empty row in database
iRow = ws.Cells(Rows.Count, 2).End(xlUp).Offset(1, 0).Row

'copy the data to the database
ws.Cells(iRow, 2).Value = Me.TextBox2.Value
ws.Cells(iRow, 3).Value = Me.TextBox8_Name.Value
ws.Cells(iRow, 4).Value = Me.TxtBox3.Value
ws.Cells(iRow, 5).Value = "kg"
ws.Cells(iRow, 6).Value = Me.TxtBox4_Source.Value
ws.Cells(iRow, 7).Value = Me.TextBox5_Year.Value
ws.Cells(iRow, 8).Value = Me.TextBox6_Location.Value
ws.Cells(iRow, 9).Value = Me.TextBox7_Comment.Value

'clear the data
Me.TextBox8_Name.Value = ""
Me.TxtBox3.Value = ""
Me.TxtBox4_Source.Value = ""
Me.TextBox5_Year.Value = ""
Me.TextBox6_Location.Value = ""
Me.TextBox7_Comment.Value = ""

'TextBox8_Name = ListBox1
'ListBox1.AddItem = TextBox8_Name

'Unload Me

'ElseIf Answer = 2 Then
' Unload Me
'Exit Sub

End If

'If Page1.TextBox8_Name.Value <> "" Then
'With ThisWorkbook.Worksheets("Database")
'Row = .Cells(2, 3).End(xlDown).Row + 1
'.Cells(Row, 3).Value = UserForm1.TextBox8_Name.Value
'End With
'Call UserForm1.ListBox1
'UserForm2.TextBox1.Value = ""
'End If

End Sub
ขอบคุณค่ะ

Re: Add value in ListBox

Posted: Thu Jan 05, 2012 11:09 am
by snasui
:D ช่วยแก้ Code ให้แสดงเป็น Code ดูวิธีตาม link นี้ครับ viewtopic.php?f=3&t=1187

และจากที่เขียนมา

Code: Select all

 ListBox1.AddItem = TextBox8_Name
ไม่ถูกต้องครับ ลองอ่านที่ผมแนะนำไปใหม่อีกรอบครับ

Re: Add value in ListBox

Posted: Sat Jan 07, 2012 3:51 pm
by ANUSARA
ลองเอา code ListBox1.AddItem = TextBox8_Name ใส่ดูแล้วก็ยังขึ้น compile error อยู่ค่ะ รบกวนช่วยดูด้วยนะคะ ขอบคุณค่ะ

Code: Select all

Private Sub CommandButton1_Click()
Dim iRow As Long
    Dim ws As Worksheet
    Set ws = Worksheets("Database")

    'check for a name
    If Trim(Me.TextBox8_Name.Value) = "" Then
        Me.TextBox8_Name.SetFocus
        MsgBox "Please enter a name of raw material or chemical"
    Exit Sub
    End If

    'check for a CF
    If Trim(Me.TxtBox3.Value) = "" Then
     Me.TxtBox3.SetFocus
     MsgBox "Please enter value"
    Exit Sub
  
End If

    If Not IsNumeric(TxtBox3) Then
        MsgBox "Please enter numeric."
        Me.TxtBox3.Text = "0.00"
        Exit Sub
    End If

Answer = MsgBox("Do you want save change?", 1 + 32, "Create record")
    
If Answer = 1 Then

 'find first empty row in database
    iRow = ws.Cells(Rows.Count, 2).End(xlUp).Offset(1, 0).Row

'copy the data to the database
    ws.Cells(iRow, 2).Value = Me.TextBox2.Value
    ws.Cells(iRow, 3).Value = Me.TextBox8_Name.Value
    ws.Cells(iRow, 4).Value = Me.TxtBox3.Value
    ws.Cells(iRow, 5).Value = "kg"
    ws.Cells(iRow, 6).Value = Me.TxtBox4_Source.Value
    ws.Cells(iRow, 7).Value = Me.TextBox5_Year.Value
    ws.Cells(iRow, 8).Value = Me.TextBox6_Location.Value
    ws.Cells(iRow, 9).Value = Me.TextBox7_Comment.Value

'clear the data
    Me.TextBox8_Name.Value = ""
    Me.TxtBox3.Value = ""
    Me.TxtBox4_Source.Value = ""
    Me.TextBox5_Year.Value = ""
    Me.TextBox6_Location.Value = ""
    Me.TextBox7_Comment.Value = ""
    
    
'Unload Me

'ElseIf Answer = 2 Then
   ' Unload Me
'Exit Sub

End If

'If Page1.TextBox8_Name.Value <> "" Then
'With ThisWorkbook.Worksheets("Database")
    'Row = .Cells(2, 3).End(xlDown).Row + 1
    '.Cells(Row, 3).Value = UserForm1.TextBox8_Name.Value
'End With
'Call UserForm1.ListBox1
'UserForm2.TextBox1.Value = ""
'End If

'TextBox2.Text = TextBox1.Text

ListBox1.AddItem = TextBox8_Name

End Sub

Re: Add value in ListBox

Posted: Sat Jan 07, 2012 3:55 pm
by snasui
ANUSARA wrote:ลองเอา code ListBox1.AddItem = TextBox8_Name ใส่ดูแล้วก็ยังขึ้น compile error อยู่ค่ะ รบกวนช่วยดูด้วยนะคะ ขอบคุณค่ะ
:lol: ก็ไม่ควรจะได้ครับผมไม่ได้แนะนำว่าให้ใช้ ListBox1.AddItem = TextBox8_Name ครับ ช่วยอ่านใหม่ช้า ๆ อีกครั้งครับ

Re: Add value in ListBox

Posted: Sat Jan 07, 2012 11:31 pm
by ANUSARA
ลองใช้ code ตามด้านล่าง แต่ค่าที่ไปแสดงใน ListBox แสดงทุกตัวที่พิมพ์เหมือนตัวอักษร 1 ตัวก็แสดง 1 บรรทัดค่ะ และไม่ดึงค่าข้อมูลจาก หน้า databse อยากให้ดึงค่าจาก databse ที่เคยบันทึกมาด้วยค่ะ

Code: Select all

Private Sub TextBox8_Name_Change()
UserForm1.ListBox1.AddItem (UserForm1.TextBox8_Name.Text)
End Sub
ขอบคุณค่ะ

Re: Add value in ListBox

Posted: Sat Jan 07, 2012 11:41 pm
by snasui
:D หลักการก็ให้ประกาศตัวแปรช่วงข้อมูลแล้วค่อยใช้ For each...Next มาแสดงใน ListBox ครับ

ยกตัวอย่างเช่น

Code: Select all

   '...
   dim rall as range
   dim r as range
   with sheets("exam")
      set rall = .range("a1", .range("a" & rows.count).end(xlup))
   end with
   for each r in rall
      lisbox1.additem r
   next r
   '...
'... คือ Code อื่น ๆ เป็นการละไว้ในฐานที่เข้าใจ

Re: Add value in ListBox

Posted: Sun Jan 08, 2012 12:03 am
by ANUSARA
ลองทำแล้วค่ะแต่ไม่แน่ใจว่าเข้าใจตามที่คุณแนะนำหรือไม่ค่ะ และมันขึ้น compile error ที่ Lisbox1.AddItem r ค่ะ อยากรบกวนช่วยแนะนำด้วยนะคะ ไม่ค่อยเข้าใจ VBA เท่าไหร่ค่ะ

Code: Select all

Private Sub TextBox8_Name_Change()

Dim rall As Range
   Dim r As Range
   With Sheets("database")
      Set rall = .Range("C2", .Range("C" & Rows.Count).End(xlUp))
   End With
   For Each r In rall
      Lisbox1.AddItem r
   Next r
UserForm1.ListBox1.AddItem (UserForm1.TextBox8_Name.Text)
End Sub

Re: Add value in ListBox

Posted: Sun Jan 08, 2012 12:20 am
by snasui
:D ลองปรับ Code เป็นตามด้านล่างครับ

Code: Select all

Private Sub TextBox8_Name_Change()
   Dim rall As Range
   Dim r As Range
   With Sheets("database")
      Set rall = .Range("C2", .Range("C" & Rows.Count).End(xlUp))
   End With
   For Each r In rall
      ListBox1.AddItem r ' Change lisbox1 to ListBox1
   Next r
'UserForm1.ListBox1.AddItem (UserForm1.TextBox8_Name.Text)
End Sub
โดยปกติการนำข้อมูลมาไว้ใน ListBox เพื่อให้เลือกได้ ควรทำที่ UserForm_Initialize Events และเมื่อมีการ Update TextBox8_Name ค่อย Add รายการเข้าไปเพิ่มทีละรายการ (หากต้องการ) สำหรับ Code นี้กรณีที่ TextBox8_Name มีการเปลี่ยนจะมีการเพิ่มชุดข้อมูลเข้าไปอีกครั้ง

Re: Add value in ListBox

Posted: Sun Jan 08, 2012 9:33 am
by ANUSARA
ขอบคุณนะคะ
แต่ทำไมเวลาที่ใส่ค่าไปแล้วค่าที่ไปแสดงใน ListBox ถึงต้องซ้ำกับเดิมที่เคยใส่ไว้ด้วยค่ะ ต้องแก้อย่างไรคะ

เช่น ใส่ค่า Name ครั้งที่ 1 เป็น 1 ค่าที่แสดงใน ListBox จะแสดงค่า 1 เรียงลงมา 3 ตัว ค่ะ
ใส่ค่า Name ครั้งที่ 2 เป็น we ค่าที่แสดงใน ListBox จะแสดงค่า 1 we 1 we เรียงลงมาค่ะ
ใส่ค่า Name ครั้งที่ 3 เป็น s1 ค่าที่แสดงใน ListBox จะแสดงค่า 1 we s1 1 we s1 1 we s1 เรียงลงมาค่ะ มันจะซ้ำกันตามจำนวนครั้งที่ใส่ค่ะ

และถ้าเราอยากให้ค่าใน ListBox มันคงค่ารายการตามName ในdatabase ที่เคย add ค่าไว้เผื่อผู้ใช้อยาก selectค่าได้เลยโดยไม่ต้อง addค่าก่อนถึงจะเห็นค่าข้อมูลเก่าที่เคยaddไว้ ต้องเพิ่ม code อย่างไรคะ

Re: Add value in ListBox

Posted: Sun Jan 08, 2012 9:51 am
by snasui
:lol: ที่สงสัยนั้นผมตอบไว้เรียบร้อยแล้วครับตามนี้
snasui wrote:โดยปกติการนำข้อมูลมาไว้ใน ListBox เพื่อให้เลือกได้ ควรทำที่ UserForm_Initialize Events และเมื่อมีการ Update TextBox8_Name ค่อย Add รายการเข้าไปเพิ่มทีละรายการ (หากต้องการ) สำหรับ Code นี้กรณีที่ TextBox8_Name มีการเปลี่ยนจะมีการเพิ่มชุดข้อมูลเข้าไปอีกครั้ง
ดังนั้นสิ่งที่น่าจะเป็นคำถามคือ UserForm_Initialize Events สามารถดูได้จากไหน จะได้เอา Code การ Loop ไปใส่ได้

คำตอบคือให้ดับเบิ้ลคลิกที่ Userform แล้วเลือก Event ตามภาพด้านล่าง จากน้้นนำ Code การ Loop ค่ามาใส่ไว้ ความหมายคือเมื่อมีการ Load Userform ขึ้นมา มันก็จะนำค่าต่าง ๆ ในข้อมูลเป้าหมายมาแสดงใน ListBox ให้เลย

กรณีไปผูก ListBox กับการเปลี่ยนแปลงของ Control อื่น ๆ เช่นที่ทำตัวอย่างมา ก็จะเกิดปัญหาเช่นนั้นแหละครับ เมื่อ Control ตัวอื่น ๆ มีการเปลี่ยนแปลงมันก็จะ Update ListBox ทุกครั้ง จำเป็นต้องเขียน Code ในการดักจับอีกวุ่นวายว่าเมื่อไรจะให้ Update ListBox ฯลฯ

Re: Add value in ListBox

Posted: Sun Jan 08, 2012 7:02 pm
by ANUSARA
ขอบคุณนะคะ

ขอถามเพิ่มนะคะ ถ้าจะทำให้ TextBox ของ Value Source Year Location Comment ขึ้นแสดงค่าตามข้อมูลใน ListBox ที่เลือก ดึงข้อมูลมาจาก Sheet Databaseค่ะ
ได้ลองใช้ code ตามด้านล่างค่ะแต่ขึ้น error ไม่ทราบว่าต้องแก้ไขอย่างไรคะ

Code: Select all

Private Sub ListBox1_Select()

With Worksheets("Database")
   TxtBox14.Value = Application.VLookup(Me.ListBox1, .Range("C2:I100"), 4, False)
   TxtBox12.Value = Application.VLookup(Me.ListBox1, .Range("C2:I100"), 6, False)
   TxtBox11.Value = Application.VLookup(Me.ListBox1, .Range("C2:I100"), 7, False)
   TxtBox10.Value = Application.VLookup(Me.ListBox1, .Range("C2:I100"), 8, False)
   TxtBox9.Value = Application.VLookup(Me.ListBox1, .Range("C2:I100"), 9, False)
End With

End Sub

และอีก code หนึ่งคือ code ที่จะลบ ข้อมูลจาก ListBox ที่เลือก แล้วกดปุ่ม detete ลองใส่ code ตามด้านล่าง แล้วขึ้น error ค่ะต้องแก้ไขอย่างไรคะ

Code: Select all

Private Sub CommandButton7_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("Database").Range("C:I"), 0)
        Worksheets("Database").Rows(lng).Delete
        Unload Me
        
    ElseIf Answer = 7 Then
        Unload Me
        Exit Sub
    End If

End Sub
ขอบคุณมากค่ะ

Re: Add value in ListBox

Posted: Sun Jan 08, 2012 10:23 pm
by snasui
:D ListBox ไม่มี Event Select ครับ ผมเปลี่ยนเป็น Event Click ให้แล้วตามด้านล่าง, TextBox ก็เขียนเป็น TxtBox เป็นสาเหตุหนึ่งที่ทำให้เกิด Error และ Range สำหรับ Lookup ก็น้อยกว่าคอลัมน์ที่ต้องการนำมาแสดงผล

Code: Select all

Private Sub ListBox1_Click()
    With Worksheets("Database")
       TextBox14.Value = Application.VLookup(Me.ListBox1, .Range("C2:Z100"), 4, False)
       TextBox12.Value = Application.VLookup(Me.ListBox1, .Range("C2:Z100"), 6, False)
       TextBox11.Value = Application.VLookup(Me.ListBox1, .Range("C2:Z100"), 7, False)
       TextBox10.Value = Application.VLookup(Me.ListBox1, .Range("C2:Z100"), 8, False)
       TextBox9.Value = Application.VLookup(Me.ListBox1, .Range("C2:Z100"), 9, False)
    End With
End Sub

Private Sub TextBox14_Change()
TextBox14.Value = Application.VLookup(Me.ListBox1, Worksheets("Database").Range("C2:Z100"), 4, False)
End Sub
สำหรับกรณีการลบ Code ควรจะปรับเป็นด้านล่าง

Code: Select all

'Other code
If Answer = 6 Then
     lng = Application.Match(ListBox1.Value, Worksheets("Database").Range("C:C"), 0)
     Worksheets("Database").Rows(lng).Delete
     Unload Me        
ElseIf Answer = 7 Then
'Other code
สังเกตตรง Range จากเดิม Range("C:I") ซึ่งไม่สามารถนำไปใช้กับฟังก์ชั่น Match ได้ครับ

Re: Add value in ListBox

Posted: Sun Jan 08, 2012 11:03 pm
by ANUSARA
code สำหรับการ delete สามารถทำได้แล้วค่ะ แต่ code ด้านล่างนี้ยัง error อยู่ค่ะ ไม่ทราบว่าเป็นเพราะเหตุใดคะ รบกวนด้วยค่ะ ขอบคุณมากค่ะ

Code: Select all

Private Sub ListBox1_Click()
    With Worksheets("Database")
       TextBox14.Value = Application.VLookup(Me.ListBox1, .Range("C2:Z100"), 4, False)
       TextBox12.Value = Application.VLookup(Me.ListBox1, .Range("C2:Z100"), 6, False)
       TextBox11.Value = Application.VLookup(Me.ListBox1, .Range("C2:Z100"), 7, False)
       TextBox10.Value = Application.VLookup(Me.ListBox1, .Range("C2:Z100"), 8, False)
       TextBox9.Value = Application.VLookup(Me.ListBox1, .Range("C2:Z100"), 9, False)
    End With
End Sub

Private Sub TextBox14_Change()
TextBox14.Value = Application.VLookup(Me.ListBox1, Worksheets("Database").Range("C2:Z100"), 4, False)
End Sub

Re: Add value in ListBox

Posted: Sun Jan 08, 2012 11:07 pm
by snasui
:shock: สิ่งที่พบคือช่อง Name เป็น Number บ้างเป็น Text บ้าง ซึ่งไม่ทราบว่าข้อมูลจริงมีลักษณะเป็นอย่างไร หากข้อมูลจริงมี Text บ้าง Number เช่นนี้แล้ว เพื่อให้ง่ายผมแนะนำให้เปลี่ยนข้อมูลต้นแหล่งให้เป็น Text ท้้งหมด เนื่องจากเรากำลังจะนำค่าใน TextBox ไป Lookup และค่าใน TextBox จะเป็น Text เสมอ

Re: Add value in ListBox

Posted: Sun Jan 08, 2012 11:30 pm
by ANUSARA
ขอบคุณค่ะ
คือถ้าช่อง Name ต้องใส่เฉพาะ ตัวอักษร ใช่ไหมคะ ถ้าเป็นคำที่มีทั้งตัวอักษรและตัวเลข จะได้ไหมคะ
ส่วนช่อง Value จะใส่เฉพาะค่าตัวเลขเท่านั้นค่ะ

Re: Add value in ListBox

Posted: Mon Jan 09, 2012 9:29 am
by snasui
:D ต้องเข้าใจ Text, Number, ตัวเลข, ตัวอักษร ก่อนครับ
  1. Text จะเป็น ตัวเลขล้วนก็ได้แต่ถูกจัด Format ให้เป็น Text ส่วนตัวเลขผสมตัวอักษรและตัวอักษรล้วนจะถูกจัดให้เป็น Text อยู่แล้ว
  2. Number จำเป็นที่จะต้องเป็นตัวเลขอย่างเดียวและจัด Format ให้เป็น Number ถ้าจัด Format ให้เป็น Text ก็จะกลายเป็น Text
จากกรณีนี้ผมเข้าใจว่า Name จะมีการคีย์ตัวเลขบ้าง ตัวอักษรบ้าง ปนกันบ้าง แต่ควรจะมี Format เป็น Text ไม่ใช่มี Format ผสมกัน และหากเป็นเช่นนั้น ควรจัด Format ในช่อง Name ให้เป็น Text เพราะจะได้ง่ายต่อการ Lookup จาก TextBox ที่มีสถานะเป็น Text เนื่องจากการ Lookup จะดูการจัด Format เป็นสำคัญ เราไม่สามารถ Lookup ข้าม Format กันได้

ตัวอย่างการจัด Format ให้เป็น Text ด้วย Manual
คลุมช่อง Name > คลิกขวา > Format Cells... > ที่แถบ Number เลือกเป็น Text

แต่หากกรณีต้องการจะใช้ Format ในช่อง Name ผสมกันไปเช่นนั้นจำเป็นจะต้องเขียน Code ในการจัดการค่าใน TextBox หรือในช่อง Name อย่างใดอย่างหนึ่งเพื่อให้ Lookup กันได้ ส่วนจะเขียนอย่างไรนั้นให้ลองเขียนก่อนครับ ติดตรงไหนก็มาดูกันต่อไป

Re: Add value in ListBox

Posted: Wed Jan 11, 2012 1:56 am
by ANUSARA
ลองนำcode ทั้งหมดมาทำเองอีก แต่ขึ้น error ในcodeด้านล่างค่ะ ไม่ทราบว่าเป็นเพราะเหตุใดค่ะ รบกวนช่วยตรวจดูให้ด้วยนะคะ
แนบไฟล์มาให้ด้วยค่ะ
ขอบคุณค่ะ

Code: Select all

Private Sub ListBox1_SelectNewRW_Click()
With Worksheets("UsEF_RW")
      TextBox14_SelectCF.Value = Application.VLookup(Me.ListBox1_SelectNewRW, .Range("E15:Q100"), 10, False)
      TextBox12_SelectSource.Value = Application.VLookup(Me.ListBox1_SelectNewRW, .Range("E15:Q100"), 12, False)
      TextBox11_SelectYear.Value = Application.VLookup(Me.ListBox1_SelectNewRW, .Range("E15:Q100"), 13, False)
      TextBox10_SelectLocation.Value = Application.VLookup(Me.ListBox1_SelectNewRW, .Range("E15:Q100"), 14, False)
      TextBox9_SelectComment.Value = Application.VLookup(Me.ListBox1_SelectNewRW, .Range("E15:Q100"), 15, False)
    End With
End Sub


Private Sub TextBox14_SelectCF_Change()
TextBox14_SelectCF.Value = Application.VLookup(Me.ListBox1_SelectNewRW, Worksheets("UsEF_RW").Range("E15:Q100"), 6, False)
End Sub

Private Sub TextBox12_SelectSource_Change()
TextBox12_SelectSource.Value = Application.VLookup(Me.ListBox1_SelectNewRW, Worksheets("UsEF_RW").Range("E15:Q100"), 8, False)
End Sub

Private Sub TextBox11_SelectYear_Change()
TextBox11_SelectYear.Value = Application.VLookup(Me.ListBox1_SelectNewRW, Worksheets("UsEF_RW").Range("E15:Q100"), 9, False)
End Sub

Private Sub TextBox10_SelectLocation_Change()
TextBox10_SelectLocation.Value = Application.VLookup(Me.ListBox1_SelectNewRW, Worksheets("UsEF_RW").Range("E15:Q100"), 10, False)
End Sub

Private Sub TextBox9_SelectComment_Change()
TextBox9_SelectComment.Value = Application.VLookup(Me.ListBox1_SelectNewRW, Worksheets("UsEF_RW").Range("E15:Q100"), 11, False)
End Sub

Re: Add value in ListBox

Posted: Wed Jan 11, 2012 9:45 am
by snasui
:D ยังไม่มี Code ใดที่ทำหน้าที่ปรับคอลัมน์ Name ให้มี Format เป็น Text นอกจากนี้ช่วงข้อมูลเช่น .Range("E15:Q100"), 14, False) เป็นสูตรที่ผิดพลาด เนื่องจาก E15:Q100 มีขอบเขตข้อมูลแค่ 13 คอลัมน์เท่านั้น แต่ต้องการนำคอลัมน์ที่ 14 มาแสดง ช่วงอื่น ๆ ที่มีลักษณะเช่นนี้จะผิดพลาดทั้งหมดครับ