:!: โปรดทราบ Image
    1. กรุณาอ่านกฎการใช้บอร์ด (Forum rules) ในตำแหน่งด้านบนของแต่ละบอร์ดครับ Image
    2. การสมัครสมาชิกเพื่อโพสต์คำถาม ดาวน์โหลดไฟล์แนบไปศึกษา ทำตามขั้นตอนด้านล่างครับ
      1. สมัครสมาชิก ดูขั้นตอนตาม Link นี้ครับ => สมัครสมาชิก กรณีลืมรหัสผ่านสามารถรับรหัสใหม่ได้ที่นี่ครับ => Reset รหัสผ่านImage
      2. Login เข้าระบบโดยคลิก Login ตรงมุมขวาบนของหน้านี้ Image กรณีมีปัญหาในการเข้าใช้งาน คลิก Link นี้เพื่อแจ้งผู้ดูแลระบบครับ => ติดต่อผู้ดูแลระบบ
    3. เมื่อ Login แล้วสามารถกำหนดการตั้งค่าส่วนตัว เช่นตั้งค่าภาษาเป็นไทยหรืออังกฤษได้ที่ Link นี้ครับ => ตั้งค่าส่วนตัว Image
    4. วิธีการตั้งและตอบกระทู้ดูได้ที่ Link นี้ครับ => วิธีการตั้งและตอบกระทู้ Image
    5. การจัดรูปแบบตัวอักษรด้วย bbcode ในช่องแสดงความคิดเห็นดูได้ที่ Link นี้ครับ => จัดรูปแบบตัวอักษร และสามารถกำหนดขนาดตัวอักษรใน Browser ได้ที่นี่ครับ ==> กำหนดขนาดตัวอักษรใน Browser Image

COPY WORKSHEET To Another Workbook

ฟอรั่มถาม-ตอบปัญหาการใช้งาน MS Excel and VBA
Forum rules
  1. ไม่อนุญาตให้ใช้ภาษาแชทในการถาม-ตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
  2. ห้ามถามโดยระบุชื่อผู้ตอบ ต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
  3. อธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
  4. ควรแนบตัวอย่างไฟล์มาที่ฟอรั่มนี้เพื่อเพิ่มความสะดวกในการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่น นอกจากนี้ไม่ควรแนบไฟลที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
  5. สำหรับคำถามเกี่ยวกับ VBA ให้ลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน ควรโพสต์ Code ให้แสดงเป็น Code เพื่อสะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
  6. แจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
gamefunza
Member
Member
Posts: 9
Joined: Fri Feb 03, 2017 11:30 am

COPY WORKSHEET To Another Workbook

#1

Postby gamefunza » Tue Oct 17, 2017 4:20 pm

คือผม มี Form อยู่ Form นึง ที่ต้องการคือ ใช้ Macro Save As เป็นไฟลใหม่โดย ตั้งชื่อตาม CELL ที่กำหนด เช่น FileName1 = Range("B1").Text

ปัญหา : Code ที่ผมเขียนเนี่ย มัน Save ไปแค่ Value แต่ละ Cell เท่านั้น Shape หรือ รูปภาพ นั้นไม่ตามมาด้วย
จุดที่อยากให้ Guide : ตอนนี้ผมทำได้แค่ กำหนด Range ที่ต้องการ แต่ที่คิดไว้คือ Copy ทั้ง Worksheet เหมือนเป๊ะไม่ว่าจะเป็นตำแหน่ง Colum Row รูปภาพ ให้ Fix อยู่ใน แผ่นเดียว

ปล. เอกสารที่แนบไปไม่ใช้เอกสารจริงนะครับ เพราะเป็นข้อมูลสำคัญครับ ขอบคุณมากครับ



Code


Code: Select all

Option Explicit

Sub Sample()

'~~> Set workbook In/Out
'~~> Set worksheet In/Out


    Dim wbI As Workbook, wbO As Workbook
    Dim wsI As Worksheet, wsO As Worksheet
    Dim Path As String
    Dim FileName1 As String
   
    '~~> Set FileName

  Path = "D:\Baramee\"
  FileName1 = Range("B1").Text

    '~~> Set workbook
    Set wbI = ThisWorkbook
    '~~>  Set worksheet
    Set wsI = wbI.Sheets("Sheet1")

    '~~> Set  workbook Des
    Set wbO = Workbooks.Add
   
    With wbO
        '~~> Set  WS Out
        Set wsO = wbO.Sheets("Sheet1")

        '~~>. Save the file  51 = xlOpenXMLWorkbook (without macro's in 2007-2016, xlsx)
        '~~>                      52 = xlOpenXMLWorkbookMacroEnabled (with or without macro's in 2007-2016, xlsm)
        '~~>                      50 = xlExcel12 (Excel Binary Workbook in 2007-2016 with or without macro's, xlsb)
        '~~>                      56 = xlExcel8 (97-2003 format in Excel 2007-2016, xls)
                                     
                                     
   '////////////////////////////////////////////////////////////////////////
                               
 '~~> .SaveAs Filename:="D:\Book10.xls", FileFormat:=56


        .SaveAs FileName:=Path & FileName1, FileFormat:=56
       
   
        '~~> Set Range
       
        wsI.Range("A2:F19").Copy

        '~~> Paste
       
        wsO.Range("A1").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
       
    End With
End Sub

You do not have the required permissions to view the files attached to this post.

puriwutpokin
Silver
Silver
Posts: 914
Joined: Fri Jan 04, 2013 9:49 pm

Re: COPY WORKSHEET To Another Workbook

#2

Postby puriwutpokin » Tue Oct 17, 2017 8:15 pm

ปรับโค้ดตามนี้ดูครับ

Code: Select all

Sub Sample()

'~~> ประกาศ workbook In/Out
'~~> ประกาศ worksheet In/Out



    Dim wbI As Workbook, wbO As Workbook
    Dim wsI As Worksheet, wsO As Worksheet
    Dim Path As String
    Dim FileName1 As String
   
    '~~> กำหนด FileName

  Path = "D:\Baramee\"
  FileName1 = Range("B1").Text

    '~~> กำหนด workbook
    Set wbI = ThisWorkbook
    '~~>  กำหนด worksheet
    Set wsI = wbI.Sheets("Sheet1")
wsI.Copy
    '~~> กำหนดปลายทาง workbook
    'Set wbO = Workbooks.Add
   
    'With wbO
        '~~> กำหนดตำแหน่ง WS ที่ต้องการวาง
       ' Set wsO = wbO.Sheets("Sheet1")

        '~~>. Save the file  51 = xlOpenXMLWorkbook (without macro's in 2007-2016, xlsx)
        '~~>                      52 = xlOpenXMLWorkbookMacroEnabled (with or without macro's in 2007-2016, xlsm)
        '~~>                      50 = xlExcel12 (Excel Binary Workbook in 2007-2016 with or without macro's, xlsb)
        '~~>                      56 = xlExcel8 (97-2003 format in Excel 2007-2016, xls)
                                     
                                     
   '////////////////////////////////////////////////////////////////////////
                               
 '~~> .SaveAs Filename:="D:\Book10.xls", FileFormat:=56


    ActiveWorkbook.SaveAs Filename:=Path & FileName1, FileFormat:=56
       
   
        '~~> Range ที่สนใจ
       
        'wsI.Range("A2:F19").Copy

        '~~> วางเริ่มต้น จาก Cell A1  No SkipBlank  No Transpose
       
        'wsO.Range("A1").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
       
    'End With
End Sub

gamefunza
Member
Member
Posts: 9
Joined: Fri Feb 03, 2017 11:30 am

Re: COPY WORKSHEET To Another Workbook

#3

Postby gamefunza » Thu Oct 19, 2017 8:53 am

ขอบคุณมากครับ :cp:


Return to “Excel”

Who is online

Users browsing this forum: puriwutpokin, smonekai and 32 guests