Page 1 of 1

สอบถาม code vba ใน combobox

Posted: Mon Jan 26, 2015 6:04 pm
by natthaporn
ดิฉันต้องการดึงค่าจาก sheet : Data, column : G มาวางไว้ที่ tbox1 และ
ดึงค่าจาก sheet : Data, column : H มาวางไว้ที่ tbox2
ตามวันที่ที่ระบุไว้ที่ cboDay , cboMonth และ cboYear

กล่าวคือ ที่ tbox1 และ tbox2 เป็นได้ทั้งกรณีรับค่า และส่งค่า

โดยได้เขียน code ตามนี้คะ

Code: Select all

Private Sub cboDay_Change()
Dim mRange As Range
    'On Error Resume Next
    Set mRange = Sheet2.Range("i1")
    mRange = Me.cboMonth.Text & "/" & Me.cboDay.Text & "/" & Me.cboYear.Text
    
    With Application.WorksheetFunction
        Me.tbox1.Value = .VLookup(mRange.Value, Sheet2.Range("Table"), 6, False)
    End With
End Sub

Private Sub cboMonth_Change()
Dim mRange As Range
    'On Error Resume Next
    Set mRange = Sheet2.Range("i1")
    mRange = Me.cboMonth.Text & "/" & Me.cboDay.Text & "/" & Me.cboYear.Text
    
    With Application.WorksheetFunction
        Me.tbox1.Value = .VLookup(mRange.Value, Sheet2.Range("Table"), 6, False)
    End With
End Sub

Private Sub cboYear_Change()

  Dim mRange As Range
    'On Error Resume Next
    Set mRange = Sheet2.Range("i1")
    mRange = Me.cboMonth.Text & "/" & Me.cboDay.Text & "/" & Me.cboYear.Text
    
    With Application.WorksheetFunction
        Me.tbox1.Value = .VLookup(mRange.Value, Sheet2.Range("Table"), 6, False)
    End With
End Sub
แต่ code error คะ รบกวนแนะนำด้วยคะ
ขอบคุณคะ

Re: สอบถาม code vba ใน combobox

Posted: Mon Jan 26, 2015 6:47 pm
by snasui
:D ตัวอย่างการปรับ Code เฉพาะ cboDay (วันที่) สำหรับ เดือน และ ปี ก็ให้ปรับลักษณะนี้ ครับ

Code: Select all

Private Sub cboDay_Change()
    Dim mRange As Range
    On Error Resume Next
    Set mRange = Sheet2.Range("i1")
    If Me.cboMonth.Text <> "" And Me.cboDay.Text <> "" And Me.cboYear.Text <> "" Then
        mRange = Me.cboMonth.Text & "/" & Me.cboDay.Text & "/" & Me.cboYear.Text
    Else
        Exit Sub
    End If
    With Application.WorksheetFunction
        Me.tbox1.Value = .VLookup(mRange.Value, Sheet2.Range("Table"), 6, False)
    End With
End Sub

Re: สอบถาม code vba ใน combobox

Posted: Mon Jan 26, 2015 7:51 pm
by natthaporn
อาจารย์คะ code ไม่ error แล้ว แต่ปรากฏว่าเมื่อเลือกวันที่แล้วไม่มีค่าแสดงที่ tbox1 คะ
ขอบคุณคะ

Re: สอบถาม code vba ใน combobox

Posted: Mon Jan 26, 2015 8:39 pm
by snasui
:shock: ปรับให้ครบทุก Control ทั้งที่เป็น วันที่ เดือน ปีจึงจะ Lookup กันได้ครับ

Code ที่ผมเขียนมานั้นเป็นเพียงตัวอย่างให้เห็นว่าควรปรับเช่นไรเท่านั้นครับ

Re: สอบถาม code vba ใน combobox

Posted: Tue Jan 27, 2015 8:07 am
by natthaporn
อาจารย์คะดิฉันทำตามที่อาจารย์แนะนำแล้วคะ แต่ก็ยังไม่แสดงค่า ดิฉันลองใส่ comment ไว้ที่
on error resume next" ปรากฎว่า code error ที่

Code: Select all

Me.tbox1.Value = .VLookup(mRange.Value, Sheet2.Range("Table"), 6, False)
ดิฉันพยายามหาสาเหตุ เช่น ค่าของ mRange และค่าของ Tabel แต่ก็หาไม่เจอคะ

ขอรบกวนด้วยนะคะ ขอบคุณคะ

Re: สอบถาม code vba ใน combobox

Posted: Tue Jan 27, 2015 9:56 am
by snasui
:D ปรับเป็นด้านล่าง โดยลบ .value ออก หรือใช้ .value2 แทน .vlaue ครับ

Me.tbox1.Value = .VLookup(mRange, Sheet2.Range("Table"), 6, False)

Re: สอบถาม code vba ใน combobox

Posted: Tue Jan 27, 2015 1:01 pm
by natthaporn
ได้ผลลัพธ์ตามที่ต้องการแล้วคะ ขอขอบคุณอาจารย์มากคะ

Re: สอบถาม code vba ใน combobox

Posted: Fri Jul 24, 2015 2:47 pm
by belmont
:thup: :thup: :thup: :thup: