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

สอบถามครับexcel copy ข้าม file

ฟอรัมถาม-ตอบปัญหาการใช้งานสูตรและฟังก์ชัน Excel
Forum rules
  1. ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
  2. ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
  3. กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
  4. กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
  5. กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code] และปิดด้วย [/code] ตัวอย่างเช่น [code]dim r as range[/code] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
  6. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
Leng
Member
Member
Posts: 225
Joined: Tue Jun 26, 2018 5:19 pm

สอบถามครับexcel copy ข้าม file

#1

Post by Leng »

อยากก็อปปี้ข้อมูลูจาก Excel ในชีต Out ไปลงในworkbookอื่นที่อยู่ในในไดร์ D และให้runต่อๆกันครับ

Code: Select all

Private Sub CommandButton1_Click()
With Sheets("IN")
    lr = .Range("A" & Rows.Count).End(xlUp).Row
    .Range("A3:I5000" & lr).Copy
    Sheets("Out").Range("A" & Rows.Count).End(xlUp).Offset(1, 0) _
    .PasteSpecial xlPasteValues
    
         Workbooks.Open Filename:="C:\Users\Administrator\Desktop\Test\Data.xlsx"
     lr = .Range("A" & Rows.Count).End(xlUp).Row
    .Range("A3:I5000" & lr).Copy
    Sheets("Out2").Range("A" & Rows.Count).End(xlUp).Offset(1, 0) _
    .PasteSpecial xlPasteValues
User avatar
snasui
Site Admin
Site Admin
Posts: 31257
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: สอบถามครับexcel copy ข้าม file

#2

Post by snasui »

:D แนบไฟล์ประกอบพร้อมทั้งชี้ให้เห็นว่าปัจจุบันเกิดปัญหาที่ตรงไหน อย่างไร จะได้สะดวกในการทดสอบและแก้ไขปัญหาครับ
Leng
Member
Member
Posts: 225
Joined: Tue Jun 26, 2018 5:19 pm

Re: สอบถามครับexcel copy ข้าม file

#3

Post by Leng »

1.ต้องการเซฟข้อมูลจากไฟล์ที่ชื่อว่า fainal-copy ในชีท Out ออกมาหน้าเดสก์ท็อปโค๊ดที่ผมใช้สามารถทำงานได้ครับ

Code: Select all

Sheets("Out").Select
Sheets("Out").Copy
Sheets("Out").Select
Sheets("Out").Activate
Sheets("Out").UsedRange.Copy
ActiveWorkbook.SaveAs "C:\Users\Administrator\Desktop\" & "Agrade" & Format(Now(), "DD-MMM-YYYY hh mm AMPM") & ".xlsx", 51
ActiveWorkbook.Close

 Sheets("IN").Select
Range("A3:I1048576").Clear
Selection.ClearContents

Sheets("Out").Select
Range("A2:I1048576").Select
Selection.ClearContents

 MsgBox "Done:"
Worksheets("IN").Select
2.แต่ปัญหาคือผมอยาก copy ข้อมูลจาก ไฟล์ fainal-copy ในชีท Out ให้มาบันทึกในไฟล์ Data ด้วยครับ โดยให้ข้อมูลเรียงต่อๆกัน

Code: Select all

Private Sub CommandButton1_Click()
With Sheets("IN")
    lr = .Range("A" & Rows.Count).End(xlUp).Row
    .Range("A3:I5000" & lr).Copy
    Sheets("Out").Range("A" & Rows.Count).End(xlUp).Offset(1, 0) _
    .PasteSpecial xlPasteValues
    
         Workbooks.Open Filename:="C:\Users\Administrator\Desktop\Test\Data.xlsx"
     lr = .Range("A" & Rows.Count).End(xlUp).Row
    .Range("A3:I5000" & lr).Copy
    Sheets("Out").Range("A" & Rows.Count).End(xlUp).Offset(1, 0) _
    .PasteSpecial xlPasteValues
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31257
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: สอบถามครับexcel copy ข้าม file

#4

Post by snasui »

:D ตัวอย่าง Code ครับ

Code: Select all

Private Sub CommandButton1_Click()
    Dim sc As Range, tg As Range
    Dim tgBook As Workbook
    With Sheets("IN")
        lr = .Range("A" & Rows.Count).End(xlUp).Row
        Set sc = .Range("A3:I5000" & lr)
        sc.Copy
        Sheets("Out").Range("A" & Rows.Count).End(xlUp).Offset(1, 0) _
        .PasteSpecial xlPasteValues
        
        Set tgBook = Workbooks.Open(Filename:="C:\Users\Administrator\Desktop\Test\Data.xlsm")
        sc.Copy
        tgBook.Sheets(1).Range("A" & Rows.Count).End(xlUp).Offset(1, 0) _
            .PasteSpecial xlPasteValues
'Other code...
Leng
Member
Member
Posts: 225
Joined: Tue Jun 26, 2018 5:19 pm

Re: สอบถามครับexcel copy ข้าม file

#5

Post by Leng »

อาจารย์ครับผมไม่ต้องการให้ Workbooks = Data.xlsx เปิดขึ้นมาครับเพราะว่าถ้าเปิดไฟล์นี้มาจะไม่สามารถ run ในโค๊ดต่อๆ ไป ที่อยู่ในไฟล์ final-copy ได้ครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 31257
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: สอบถามครับexcel copy ข้าม file

#6

Post by snasui »

:D การไม่เปิดจะเขียน Code ยากมากเพราะต้องใช้ Statement ของ SQL จึงจะบันทึกค่าเข้าไปในไฟล์ที่ปิดอยู่ได้ ลองเขียนมาเองก่อน ติดแล้วค่อยถามกันต่อครับ
Leng
Member
Member
Posts: 225
Joined: Tue Jun 26, 2018 5:19 pm

Re: สอบถามครับexcel copy ข้าม file

#7

Post by Leng »

ทำได้ละครับ

Code: Select all

Private Sub CommandButton1_Click()
Dim sc As Range, tg As Range
Dim tgBook As Workbook
With Sheets("IN")
lr = .Range("A" & Rows.Count).End(xlUp).Row
Set sc = .Range("A3:I5000" & lr)
sc.Copy
Sheets("Out").Range("A" & Rows.Count).End(xlUp).Offset(1, 0) _
.PasteSpecial xlPasteValues
        
Set tgBook = Workbooks.Open(Filename:="C:\Users\Administrator\Desktop\Test\Data.xlsx")
sc.Copy
tgBook.Sheets(1).Range("A" & Rows.Count).End(xlUp).Offset(1, 0) _
.PasteSpecial xlPasteValues
 ActiveWorkbook.Save
 ActiveWorkbook.Close False


Sheets("Out").Select
Sheets("Out").Copy
Sheets("Out").Select
Sheets("Out").Activate
Sheets("Out").UsedRange.Copy
ActiveWorkbook.SaveAs "C:\Users\Administrator\Desktop\" & "Agrade" & Format(Now(), "DD-MMM-YYYY hh mm AMPM") & ".xlsx", 51
ActiveWorkbook.Close

 Sheets("IN").Select
Range("A3:I1048576").Clear
Selection.ClearContents

Sheets("Out").Select
Range("A2:I1048576").Select
Selection.ClearContents

 MsgBox "Done:"
Worksheets("IN").Select
End With
End Sub
Post Reply