Page 1 of 1

ขอสอบถาม การใส่ ฟังก์ชั่น OFFSET ลงใน vba code ใน cmd

Posted: Fri Mar 14, 2014 3:11 pm
by voravit
QA_สมุดบันทึกรายการเงินสดย่อย-2557.xlsm
ผมต้องการ ส่ง ข้อมูล จาก urfrm1 ไปยังตาราง สมุด บันทึกเงินสดย่อย ที่ Sheet("MPettyCash") ให้ไล่เรียงลงมา ตามรายการที่กรอกจาก urfrm1 และ เข้าใจเอาว่า น่าจะต้องใช้ ฟังก์ชั่น OFFSET พยามลง code โดยตรงแล้ว แต่ ไม่ได้ เลย ใช้ทางอ้อม คือให้ ข้อมูล จาก urfrm1 ลงที่ Dummy แถว 33 แล้วถึงส่งเข้า ตาราง อีกที ครับ
ขอบคุณครับ

Re: ขอสอบถาม การใส่ ฟังก์ชั่น OFFSET ลงใน vba code ใน cmd

Posted: Fri Mar 14, 2014 4:59 pm
by snasui
:D ตัวอย่างการปรับ Code ตามด้านล่างครับ

Code: Select all

Private Sub cmd1_Click()
    Dim target As Range
    With Sheets("MPettyCash")
        If .Range("b6") = "" Then
            Set target = .Range("b6")
        Else
            Set target = .Range("b31").End(xlUp).Offset(1, 0)
        End If
        .Range("A6") = txb1.Value
        With target
            .Offset(0, 0) = txb2.Value
            .Offset(0, 1) = txb3.Value
            .Offset(0, 3) = txb4.Value
            .Offset(0, 4) = txb5.Value
            .Offset(0, 5) = txb6.Value
        End With
    End With
End Sub

Re: ขอสอบถาม การใส่ ฟังก์ชั่น OFFSET ลงใน vba code ใน cmd

Posted: Fri Mar 14, 2014 10:02 pm
by voravit
ขอบคุณ ครับ
ผมนำ code ที่ให้ตัวอย่างมาปรับแก้อีกเล็กน้อย ก็ได้ผล ตามที่สอบถามไปครับ
และ ผมข้อสอบถาม เพิ่มเติม ตือ ที่
txb1 คือ เลขที่เอกสาร จะมี รูปแบบ คือ
VR 57 0X 00X โดย 0X = เดือน 01 ,02 ,....11 ,12 และ 00X = ลำดับเลขที่เอกสาร = 001 .002 ,.....989 ,999
ในช่องนี้(txb1) ถ้า กรอก 03001 ผลที่ ออกมาให้เป็น VR5703001 จะต้องเขียน code vba อย่างไรครับ

ขอบคุณครับ

Re: ขอสอบถาม การใส่ ฟังก์ชั่น OFFSET ลงใน vba code ใน cmd

Posted: Sat Mar 15, 2014 8:06 am
by snasui
:D ตัวอย่าง Code ครับ

Code: Select all

.Range("A6") = "VR57" & txb1.Value

Re: ขอสอบถาม การใส่ ฟังก์ชั่น OFFSET ลงใน vba code ใน cmd

Posted: Sat Mar 15, 2014 9:01 pm
by voravit
ขอบคุณครับ
ได้นำ code ที่แนะนำมาไปปรับใช้ แล้ว ได้ผลครบตามที่ต้องการครับ คือ สมุดบันทึก รายการเบิกชดเชยเงินสดย่อย แบบง่ายๆ ถ้าท่านใดมีคำแนะนำเพิ่มเติม ก็ขอขอบคุณล่วงหน้าครับ เพราะ ทำขึ้นมาเพื่อใช้งานจริงๆครับ