Page 1 of 1

สอบถาม code vba vlookup ใน user form

Posted: Sat Jan 24, 2015 5:35 pm
by natthaporn
ดิฉันต้องการ input data จาก sheet : Template ไปไว้ใน sheet : Data โดยมีเงื่อนไขดังนี้คะ
1. ที่ cboDay เลือกวันที่
2. ที่ cboMonth เลือกเดือน
3. ที่ cboYear เลือกปี
4. ที่ tbox1 และ tbox2 ใส่จำนวนเงิน

โดยจำนวนเงินที่ tbox1 , tbox2 จะถูกนำไปวางไว้ที่ sheet : Data ใน column : G , H ตามวันที่เลือกใน cboDay, cboMonth, cboYear
ดิฉันได้ทดลองเขียน code ดังนี้คะ

Code: Select all

Dim lookup1, lookup2 As Long

With Application.WorksheetFunction
lookup1 = .VLookup(Me.cboMonth & "/" & Me.tboDay & "/" & Me.tboYear.Value, Sheet2.Range("Table"), 6, 0)
lookup2 = .VLookup(Me.cboMonth & "/" & Me.tboDay & "/" & Me.tboYear.Value, Sheet2.Range("Table"), 7, 0)
End With

With Sheet2
        .Cells(lookup1).Value = Me.tbox1.Value
        .Cells(lookup2).Value = Me.tbox2.Value
        
 End With
ซึ่งเกิด error ขึ้น รบกวนท่านผู้รู้แนะนำด้วยคะ ดิฉันพยายามเขียนตามความรู้เก่าที่เคยเขียนมาคะแต่ก็ยังไม่สำเร็จคะ

ขอบคุณคะ

Re: สอบถาม code vba vlookup ใน user form

Posted: Sat Jan 24, 2015 7:26 pm
by snasui
:D ตัวอย่าง Code ตามด้านล่างครับ

Code: Select all

Private Sub CommandButton1_Click()
    Dim lookup1 As Long, mRange As Range
    On Error Resume Next
    Set mRange = Sheet2.Range("i1")
    mRange = Me.cboMonth.Text & "/" & Me.cboDay.Text & "/" & Me.cboYear.Text
    lookup1 = Application.Match(mRange, Sheet2.Range("b:b"), 0)
    With Sheet2
        .Cells(lookup1, "g").Value = Me.tbox1.Value
        .Cells(lookup1, "h").Value = Me.tbox2.Value
     End With
     mRange.ClearContents
End Sub

Re: สอบถาม code vba vlookup ใน user form

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