เพื่อมุ่งให้เกิดคุณภาพจากการอบรมสูงสุด Excel Expert Training ให้การอบรม Excel กลุ่มเล็กๆ ไม่เกิน 6 คนทุกคนสามารถเรียนรู้ Excel อย่างใกล้ชิด จะมาคนเดียวหรือมาเป็นกลุ่มแล้วนัดวันอบรมแบบส่วนตัวก็ได้ ผู้เข้าอบรมทุกคนสามารถติดตามเนื้อหาที่อบรมได้อย่างชัดเจนจากจอภาพด้านหน้าของตัวเอง
Results 1 to 8 of 8

Thread: code VBA เพื่อ copy ข้อมูลข้าม sheet

  1. #1
    kuhnnachupb
    Guest

    code VBA เพื่อ copy ข้อมูลข้าม sheet

    False Pict
    Jan-12
    Jan Feb Mar
    6.00 6.00 6.00
    6.00 6.00 6.00
    6.00 6.00 6.00
    คำถาม
    1. ต้องการดึงข่อมูลจาก sheet "data" range"C5:C7" มาที่ sheet "Report" โดยใช่เงื่อนไขตาม ccolumn "D2" ดังนี้คะ
    ถ้าที่ D2 = Jan-12 ให้ข้อมูล copy มาไว้ที่ column "D57"
    ถ้าที่ D2 = Feb-12 ให้ข้อมูล copy มาไว้ที่ column "E5:E7"
    ถ้าที่ D2 = Mar-12 ให้ข้อมูล copy มาไว้ที่ column "F5:F7"
    โดยข้อมูลที่ sheet "data"column C5:C7 จะมีการเปลี่ยนแปลงทุกเดือน
    ยกตัวอย่างเช่น ในเดือน Jan : colunm "C5:C7" คือ 1
    ในเดือน Feb : colunm "C5:C7" คือ 2
    ในเดือน Mar : colunm "C5:C7" คือ 3
    รบกวนทุกท่านช่วยแนะนำ code ด้วยคะ เพราะลอง run แล้วผลลัพธ์ที่ออกมาแปลกมาคะ
    คื่อ ดิฉันเลือกที่ D2 = Jan-12 ผลลัพธ์ที่ออกมาคือ จะแสดงค่า "1" ตั้งแต่ "F5:IV5 คะ
    นอกจากนี้อยากจะรบกวนย่อ code ให้ด้วยคะ
    code ที่ทดลองเขียน คือ ดังนี้คะ
    Private Sub CommandButton1_Click()
    If Sheets("Report").Range("D2") = "Jan-12" Then
    Sheets("Data").Range("Source").Copy
    Range("Target1").PasteSpecial xlPasteValues
    Application.CutCopyMode = False
    ElseIf Sheets("Report").Range("D2") = "Feb-12" Then
    Sheets("Data").Range("Source").Copy
    Range("Target2").PasteSpecial xlPasteValues
    Application.CutCopyMode = False
    Else
    Sheets("Report").Range("D2") = "Mar-12"
    Sheets("Data").Range("Source").Copy
    Range("Target3").PasteSpecial xlPasteValues
    Application.CutCopyMode = False
    End If
    End Sub

  2. #2
    อรวีร์
    Guest

    Smile

    ลองใช้ Code แบบนี้ค่ะ
    Dim C As Long
    C = Month(Sheets("Report").Range("D2").Value) + 3
    Sheets("Report").Range(Cells(5, C), Cells(7, C)).Value = Sheets("data").Range("C5:C7").Value
    -----------------------------------
    C จะเป็นตัวเลข Column (1 = Column A, 2= Column B) โดยเอาเลขเดือน+3 ค่ะ

  3. #3
    kuhnnachupb
    Guest
    Quote Originally Posted by kuhnnachupb View Post
    False Pict
    Jan-12
    Jan Feb Mar
    6.00 6.00 6.00
    6.00 6.00 6.00
    6.00 6.00 6.00
    คำถาม
    1. ต้องการดึงข่อมูลจาก sheet "data" range"C5:C7" มาที่ sheet "Report" โดยใช่เงื่อนไขตาม ccolumn "D2" ดังนี้คะ
    ถ้าที่ D2 = Jan-12 ให้ข้อมูล copy มาไว้ที่ column "D57"
    ถ้าที่ D2 = Feb-12 ให้ข้อมูล copy มาไว้ที่ column "E5:E7"
    ถ้าที่ D2 = Mar-12 ให้ข้อมูล copy มาไว้ที่ column "F5:F7"
    โดยข้อมูลที่ sheet "data"column C5:C7 จะมีการเปลี่ยนแปลงทุกเดือน
    ยกตัวอย่างเช่น ในเดือน Jan : colunm "C5:C7" คือ 1
    ในเดือน Feb : colunm "C5:C7" คือ 2
    ในเดือน Mar : colunm "C5:C7" คือ 3
    รบกวนทุกท่านช่วยแนะนำ code ด้วยคะ เพราะลอง run แล้วผลลัพธ์ที่ออกมาแปลกมาคะ
    คื่อ ดิฉันเลือกที่ D2 = Jan-12 ผลลัพธ์ที่ออกมาคือ จะแสดงค่า "1" ตั้งแต่ "F5:IV5 คะ
    นอกจากนี้อยากจะรบกวนย่อ code ให้ด้วยคะ
    code ที่ทดลองเขียน คือ ดังนี้คะ
    Private Sub CommandButton1_Click()
    If Sheets("Report").Range("D2") = "Jan-12" Then
    Sheets("Data").Range("Source").Copy
    Range("Target1").PasteSpecial xlPasteValues
    Application.CutCopyMode = False
    ElseIf Sheets("Report").Range("D2") = "Feb-12" Then
    Sheets("Data").Range("Source").Copy
    Range("Target2").PasteSpecial xlPasteValues
    Application.CutCopyMode = False
    Else
    Sheets("Report").Range("D2") = "Mar-12"
    Sheets("Data").Range("Source").Copy
    Range("Target3").PasteSpecial xlPasteValues
    Application.CutCopyMode = False
    End If
    End Sub
    ขอบคุณ คูณอรวีร์มากคะ ที่แนะนำ code ให้ เพราะดิฉันข้อมูลที่ต้องทำในลักษณะนี้หลาย file มากเลยคะ และข้อมูลก็มีมาก เช่น มีตั้งแต่ A2:L4000 ทำให้ช่วยลดเวลาในการทำงานลงได้มากเลยคะ
    ซึ่งตอนนี้ดิฉันกำลังศึกษาเรื่องการเขียน code เพื่อมาประยุกต์ใช้กับงานอยู่คะ

  4. #4
    kuhnnachupb
    Guest
    Quote Originally Posted by kuhnnachupb View Post
    ขอบคุณ คูณอรวีร์มากคะ ที่แนะนำ code ให้ เพราะดิฉันข้อมูลที่ต้องทำในลักษณะนี้หลาย file มากเลยคะ และข้อมูลก็มีมาก เช่น มีตั้งแต่ A2:L4000 ทำให้ช่วยลดเวลาในการทำงานลงได้มากเลยคะ
    ซึ่งตอนนี้ดิฉันกำลังศึกษาเรื่องการเขียน code เพื่อมาประยุกต์ใช้กับงานอยู่คะ
    ขอรบกวนถามคุณอรวีร์ ต่อนิดหนึ่ง (เป็นท่านอื่นก็ได้นะคะ แต่ที่ระบุคุณอรวีร์เนื่องจากจะถามต่อยอดจาก code ที่คุณอรวีร์แนะนำมาคะ)
    จาก code

    Private Sub CommandButton1_Click()
    Dim C As Long
    C = Month(Sheets("FSE6").Range("BK2").Value) + 40
    Sheets("FSE6").Range(Cells(8, C), Cells(1111, C)).Value = Sheets("FSE6").Range("BL8:BL1111").Value
    End Sub


    ดิฉันได้นำ code ไปใช้กับข้อมูลอีกชุดหนึ่ง ซึ่งเงื่อนไขที่เลือกจะอยู่ที่ "BK2" และ source อยู่ที่ column"AR:BI" เพียงแต่เงื่อนไขที่เลือกเปลี่ยนจาก "Jan-12-Dec-12" เป็น 1A, 2B,3C,....แทนคะ พอ run แล้วเกิด error ขึ้นคะ
    จึงอยากรบกวนให้ช่วยแนะนำ code ด้วยคะ

  5. #5
    kuhnnachupb
    Guest
    Quote Originally Posted by kuhnnachupb View Post
    ขอรบกวนถามคุณอรวีร์ ต่อนิดหนึ่ง (เป็นท่านอื่นก็ได้นะคะ แต่ที่ระบุคุณอรวีร์เนื่องจากจะถามต่อยอดจาก code ที่คุณอรวีร์แนะนำมาคะ)
    จาก code

    Private Sub CommandButton1_Click()
    Dim C As Long
    C = Month(Sheets("FSE6").Range("BK2").Value) + 40
    Sheets("FSE6").Range(Cells(8, C), Cells(1111, C)).Value = Sheets("FSE6").Range("BL8:BL1111").Value
    End Sub


    ดิฉันได้นำ code ไปใช้กับข้อมูลอีกชุดหนึ่ง ซึ่งเงื่อนไขที่เลือกจะอยู่ที่ "BK2" และ source อยู่ที่ column"AR:BI" เพียงแต่เงื่อนไขที่เลือกเปลี่ยนจาก "Jan-12-Dec-12" เป็น 1A, 2B,3C,....แทนคะ พอ run แล้วเกิด error ขึ้นคะ
    จึงอยากรบกวนให้ช่วยแนะนำ code ด้วยคะ
    รบกวนถามคำถามจากด้านบนคะ เพราะไม่แน่ใจว่าคำถามได้รับการเปิดดูหรือเปล่า แต่ต้องขอโทษล่วงหน้าด้วยนะคะ ถ้าการทำเช่นนี้เป็นการผิดกฏ ขอบคุณคะ

  6. #6
    อรวีร์
    Guest

    Smile

    แนบแฟ้มโจทย์ใหม่มาดีกว่าค่ะ

  7. #7
    อรวีร์
    Guest

    Smile

    Quote Originally Posted by kuhnnachupb View Post
    รบกวนถามคำถามจากด้านบนคะ เพราะไม่แน่ใจว่าคำถามได้รับการเปิดดูหรือเปล่า แต่ต้องขอโทษล่วงหน้าด้วยนะคะ ถ้าการทำเช่นนี้เป็นการผิดกฏ ขอบคุณคะ
    ไม่ควรใช้วิธีนี้ในการดึงกระทู้ขึ้นด้านบนค่ะ

  8. #8
    kuhnnachupb
    Guest
    Quote Originally Posted by อรวีร์ View Post
    ไม่ควรใช้วิธีนี้ในการดึงกระทู้ขึ้นด้านบนค่ะ
    ก่อนอื่นต้องขอโทษด้วยคะเพราะดิฉันเห็นว่า status อยู่ที่ชื่อของดิฉันนานมากแล้ว และดิฉันเกรงว่าผู้ที่ดูกระทู้อาจเข้าใจว่าเป็นการตอบเป็นเพื่อแจ้งผลและขอบคุณ จึงไม่มีใครเข้าไปดูและดิฉันไม่ทราบว่าจะ activate กระทู้ของดิฉันได้อย่างไรคะ
    ดิฉันได้แนบ file มาให้แล้วคะ

    ขอบคุณคะ

Similar Threads

  1. สอบถาม code VBA เพื่อ copy ข้อมูลข้าม file
    By kuhnnachupb in forum Excel Expert Forum Library 2012 - 2007
    Replies: 3
    Last Post: 8 Jun 2012, 22:16
  2. สอบถาม code VBA เพื่อ copy ข้อมูลข้าม sheet
    By kuhnnachupb in forum Excel Expert Forum Library 2012 - 2007
    Replies: 4
    Last Post: 7 Jun 2012, 12:42
  3. รบกวนช่วยดู Code VBA เรื่องการ Copy ไฟล์ข้าม Sheet
    By ลูกปลาน้อย in forum Excel Expert Forum Library 2012 - 2007
    Replies: 6
    Last Post: 7 Feb 2011, 20:29
  4. อยากทราบ วิธี sum ข้อมูลข้าม Sheet
    By singster in forum Excel Expert Forum Library 2012 - 2007
    Replies: 2
    Last Post: 18 Dec 2009, 12:57
  5. เขียน Code เพื่อ Copy ค่าในเซลล์ที่ Merge
    By nutty in forum Excel Expert Forum Library 2012 - 2007
    Replies: 2
    Last Post: 2 Jul 2007, 13:21

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •