Page 1 of 1

VBA คัดลอกข้อมูลจากฟอร์มไปยังคอมลัมน์และแถวใน Sheet เดียวกัน

Posted: Sat Jun 11, 2016 3:55 pm
by OLOZZ
สวัสดีครับ ขอคำปรึกษาครับ ด้วยผมต้องการที่จะคัดลอกข้อมูลที่กรอกในแบบฟอร์มแล้วคัดลอกข้อมูลไปยังแถวและคอมลัมน์ใน Sheet เดียวกันต้องแก้คำสั่งตัวไหนบ้างครับ

Code: Select all

Sub record()
Dim i&
    With ActiveSheet
        .Unprotect Password:="3890" '<==UnProtect
         If .Range("H6") <> "" And .Range("H4") <> "" _
            And .Range("H8") <> "" And .Range("G10") <> "" _
            And .Range("G12") <> "" And .Range("G14") <> "" _
            And .Range("G16") <> "" And .Range("G18") <> "" _
            And .Range("G20") <> "" And .Range("G22") <> "" _
            And .Range("24") <> "" Then
        i = .Range("q" & .Rows.Count).End(x1Up).Offset(5, 0).Row
        .Range("q" & i).Value = .Range("q2").Value
        .Range("r" & i).Value = .Range("r2").Value
        .Range("s" & i).Value = .Range("s2").Value
        .Range("t" & i).Value = .Range("t2").Value
        .Range("u" & i).Value = .Range("u2").Value
        .Range("v" & i).Value = .Range("v2").Value
        .Range("w" & i).Value = .Range("w2").Value
        .Range("x" & i).Value = .Range("x2").Value
        .Range("y" & i).Value = .Range("y2").Value
        .Range("z" & i).Value = .Range("z2").Value
        .Range("aa" & i).Value = .Range("aa2").Value
        .Range("ab" & i).Value = .Range("ab2").Value
               .Range("h8,G10,G12,G14,G16,H18,G20,G22,G24") _
               .SpecialCells(xlCellTypeConstants).ClearContents
            MsgBox ("ºÑ¹·Ö¡¢éÍÁÙÅàÃÕºÃéÍÂ")
        Else
            MsgBox ("¤Ø³ÂѧãÊè¢éÍÁÙÅäÁè¤Ãº")
            .Range("R4").Select
        End If
        .Protect Password:="3890" '<==Protect Again
    End With
End Sub
และหากผมต้องการให้ Save Workbook เมื่อกดปุ่ม "บันทึก" บนฟอร์ม ต้องใช้คำสั่งใดครับ
Tint-Stok.xlsm
ขอบคุณครับ

Re: VBA คัดลอกข้อมูลจากฟอร์มไปยังคอมลัมน์และแถวใน Sheet เดียวกัน

Posted: Sat Jun 11, 2016 5:38 pm
by snasui
:D ให้สอบถามเฉพาะที่ติดปัญหาครับ

Code ที่แนบมานั้นได้ปรับปรุงมาเองแล้วยัง หากปรับแล้วติดตรงไหนช่วยแจ้งมาด้วยจะได้ดูต่อไปจากนั้นครับ

ในส่วนของการ Save ให้ลองบันทึก Macro แล้วนำ Code มาปรับใช้ ติดตรงไหนค่อยถามกันต่อครับ

Re: VBA คัดลอกข้อมูลจากฟอร์มไปยังคอมลัมน์และแถวใน Sheet เดียวกัน

Posted: Sat Jun 11, 2016 6:08 pm
by OLOZZ
ติดตรงนี้ครับ i = .Range("q" & .Rows.Count).End(x1Up).Offset(5, 0).Row กำหนดยังไงครับ

Re: VBA คัดลอกข้อมูลจากฟอร์มไปยังคอมลัมน์และแถวใน Sheet เดียวกัน

Posted: Sat Jun 11, 2016 6:20 pm
by snasui
OLOZZ wrote:ติดตรงนี้ครับ i = .Range("q" & .Rows.Count).End(x1Up).Offset(5, 0).Row กำหนดยังไงครับ
:D ที่ผมระบายสีไว้คือตัวอักษรแอลเล็ก (l) ไม่ใช่ 1 ครับ ตัวอย่างการปรับให้วางในตำแหน่งเซลล์ว่างแรกใต้บรรทัดที่มีข้อมูลคือตามนี้ครับ i = .Range("q" & .Rows.Count).End(xlUp).Offset([color=#ff4000]1[/color], 0).Row

Re: VBA คัดลอกข้อมูลจากฟอร์มไปยังคอมลัมน์และแถวใน Sheet เดียวกัน

Posted: Sun Jun 12, 2016 7:22 pm
by OLOZZ
:cp: ขอบคุณมากครับ