Page 1 of 1

รบกวนสอบถามการบันทึกข้อมูลไป workbookอื่นครับ

Posted: Tue Mar 06, 2018 10:37 am
by sakajohn
ทีแรกผมทำ ไฟล์approve.xlsm สำหรับเก็บข้อมูลโดยใช้กับเครื่องเดียวครับ คือเมื่อกรอกข้อมูลใน sheet "ENTRY" ข้อมูลจะถูกจัดเก็บใน sheet"DATA" ครับ ตอนนี้จะมีการดึงข้อมูลใน sheet"DATA" ไปใช้กับเครื่องอื่นด้วยครับ เลยอยากจะให้ข้อมูลที่เราใส่ใน sheet"ENTRY" ไปเก็บไว้ใน workbook อื่น เช่น ชื่อ workbook DATAAPP.xlsx Sheet "DATA" ครับ เพื่อจะได้ share worbook ได้ครับ ผมจะต้องแก้ไข code อย่างไรครับ

Code: Select all

Private Sub cmdSave_Click()
Dim rg As Range

Set rg = Range("C3")

rg.Activate
If rg.Value = "" Then
MsgBox "ใส่ข้อมูลให้ครบ", vbCritical
    Exit Sub
End If
If isDuplicate(rg.Value) Then
    MsgBox "ข้อมูลซ๊ำ", vbCritical
    Exit Sub
End If


With Worksheets("Data")
    With .Range("A" & Rows.Count).End(xlUp).Offset(1, 0)
        .Offset(0, 0).Value = rg.Offset(0, 0).Value 'จินเม่าโค๊ด
        .Offset(0, 1).Value = rg.Offset(0, 4).Value
        .Offset(0, 2).Value = rg.Offset(0, 8).Value
        .Offset(0, 3).Value = rg.Offset(2, 0).Value
        .Offset(0, 4).Value = rg.Offset(2, 4).Value
        .Offset(0, 5).Value = rg.Offset(2, 8).Value
        .Offset(0, 6).Value = rg.Offset(2, 10).Value
        .Offset(0, 7).Value = rg.Offset(4, 0).Value
        .Offset(0, 8).Value = rg.Offset(4, 4).Value
        .Offset(0, 9).Value = rg.Offset(6, 0).Value
        .Offset(0, 10).Value = rg.Offset(6, 4).Value
        .Offset(0, 11).Value = rg.Offset(8, 0).Value
        .Offset(0, 12).Value = rg.Offset(8, 4).Value
        .Offset(0, 13).Value = rg.Offset(10, 0).Value
        .Offset(0, 14).Value = rg.Offset(10, 4).Value
        .Offset(0, 15).Value = rg.Offset(12, 0).Value
        .Offset(0, 16).Value = rg.Offset(12, 4).Value
        .Offset(0, 17).Value = rg.Offset(4, 8).Value
        .Offset(0, 18).Value = rg.Offset(6, 8).Value
        .Offset(0, 19).Value = rg.Offset(22, 4).Value
        .Offset(0, 20).Value = rg.Offset(14, 0).Value
        .Offset(0, 21).Value = rg.Offset(14, 4).Value
        .Offset(0, 22).Value = rg.Offset(8, 8).Value
        .Offset(0, 23).Value = rg.Offset(16, 0).Value
        .Offset(0, 24).Value = rg.Offset(18, 0).Value
        .Offset(0, 25).Value = rg.Offset(20, 0).Value
        .Offset(0, 26).Value = rg.Offset(22, 0).Value
        .Offset(0, 27).Value = rg.Offset(24, 0).Value
        .Offset(0, 28).Value = rg.Offset(16, 4).Value
        .Offset(0, 29).Value = rg.Offset(10, 8).Value
        .Offset(0, 30).Value = rg.Offset(12, 8).Value
        .Offset(0, 31).Value = rg.Offset(24, 4).Value
        .Offset(0, 32).Value = rg.Offset(18, 4).Value
        .Offset(0, 33).Value = rg.Offset(20, 4).Value
        .Offset(0, 34).Value = rg.Offset(14, 8).Value
        .Offset(0, 35).Value = rg.Offset(26, 0).Value
        .Offset(0, 36).Value = rg.Offset(16, 8).Value ' remark2
        .Offset(0, 37).Value = rg.Offset(18, 8).Value ' รายละเอียดเพิ่มเติม
        .Offset(0, 38).Value = rg.Offset(20, 8).Value
        .Offset(0, 39).Value = rg.Offset(22, 8).Value
        .Offset(0, 40).Value = rg.Offset(24, 8).Value
        .Offset(0, 41).Value = rg.Offset(17, 0).Value ' ส่วนผสมสี
        .Offset(0, 42).Value = rg.Offset(19, 0).Value ' ส่วนผสมสี
        .Offset(0, 43).Value = rg.Offset(21, 0).Value
        .Offset(0, 44).Value = rg.Offset(23, 0).Value
        .Offset(0, 45).Value = rg.Offset(25, 0).Value
        .Offset(0, 46).Value = rg.Offset(27, 0).Value
        .Offset(0, 47).Value = rg.Offset(26, 8).Value
        
    End With
End With
Range("c3,c5,c7,c9,c11,c13,c15,c17,c19,c20,c21,c22,c23,c24,c25,c26,c27,c28,c29,c30,g3,g5,g7,g9,g11,g13,g15,g17,g19,g21,g23,g25,g27,k3,k5,k7,k9,k11,k13,k15,k17,K19,k21,k23,k25,k27,K29,m5").Select
        Application.CutCopyMode = False
        MsgBox "จัดเก็บข้อมูลเรียบร้อยแล้ว"
        Selection.ClearContents
        Range("c3").Select
End Sub

Private Function isDuplicate(C) As Boolean
Dim rg As Range
Set rg = Worksheets("Data").Range("A:A")
If rg.Find(C, LookIn:=xlValues, lookat:=xlWhole) Is Nothing Then
    isDuplicate = False
Else
    isDuplicate = True
End If
End Function

Re: รบกวนสอบถามการบันทึกข้อมูลไป workbookอื่นครับ

Posted: Tue Mar 06, 2018 4:54 pm
by snasui
sakajohn wrote: Tue Mar 06, 2018 10:37 am อยากจะให้ข้อมูลที่เราใส่ใน sheet"ENTRY" ไปเก็บไว้ใน workbook อื่น เช่น ชื่อ workbook DATAAPP.xlsx Sheet "DATA" ครับ เพื่อจะได้ share worbook ได้ครับ ผมจะต้องแก้ไข code อย่างไรครับ
:D เปิดไฟล์ต้นทางที่จะวางข้อมูลเอาไว้ด้วย ซึ่งจะเปิดด้วย Code หรือ Manual ก็แล้วแต่สะดวก ในขั้นตอนของการบันทึกข้อมูลให้ปรับที่ With...End With จากเดิม With Worksheets("Data") เป็น With Workbooks("DataAPP.xlsx").Worksheets("Data") ก็จะเป็นการบันทึกข้ามไฟล์ครับ

Re: รบกวนสอบถามการบันทึกข้อมูลไป workbookอื่นครับ

Posted: Tue Mar 06, 2018 10:52 pm
by sakajohn
ขอบคุณครับ จะลองทำดูครับ

Re: รบกวนสอบถามการบันทึกข้อมูลไป workbookอื่นครับ

Posted: Tue Mar 06, 2018 11:14 pm
by sakajohn
ได้แล้วครับ ขอบคุณมากครับ