: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

ขอวิธีส่งข้อมูลข้าม workbook ครับ

ฟอรัมถาม-ตอบปัญหาการใช้งานสูตรและฟังก์ชัน 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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
User avatar
sdmania
Bronze
Bronze
Posts: 320
Joined: Tue Sep 07, 2010 11:38 am
Location: นครสวรรค์

ขอวิธีส่งข้อมูลข้าม workbook ครับ

#1

Post by sdmania »

สวัสดีครับอาจารย์

ผมใช้ excel 2003 ครับ
ผมใช้ปุ่มส่งข้อมูล (โดยใช้คำสั่งvbe) book1-Sheet1 ส่งข้อมูลไป book1-Sheet2 ได้ครับ

คราวนี้ผมกำลังจะหัดส่งข้อมูลโดยปุ่ม(ที่เขียนด้วย VBE ) จากbook1-Sheet1 ไป Book2-Sheet2 เกิดerror ที่book1ครับ

คำถามครับ>>1.ผมต้องพิมพ์ที่อยู่ Book2-sheet2 อย่างไรครับ?? (กรณีอยู่ในเครื่องเดียวกันครับ
2.ผมต้องพิมพ์ที่อยู่ Book2-sheet2 อย่างไรครับ (กรณี Book2-Sheet2 อยู่อีกเครื่องครับ
User avatar
sdmania
Bronze
Bronze
Posts: 320
Joined: Tue Sep 07, 2010 11:38 am
Location: นครสวรรค์

Re: ขอวิธีส่งข้อมูลข้าม workbook ครับ

#2

Post by sdmania »

ไฟล์ตัวอย่างคำถามครับ
You do not have the required permissions to view the files attached to this post.
User avatar
sdmania
Bronze
Bronze
Posts: 320
Joined: Tue Sep 07, 2010 11:38 am
Location: นครสวรรค์

Re: ขอวิธีส่งข้อมูลข้าม workbook ครับ

#3

Post by sdmania »

ตัวอย่าง errorครับ
You do not have the required permissions to view the files attached to this post.
User avatar
bank9597
Guru
Guru
Posts: 3868
Joined: Wed Aug 17, 2011 11:49 am

Re: ขอวิธีส่งข้อมูลข้าม workbook ครับ

#4

Post by bank9597 »

:D
กรณีทำการบันทึกหรือส่งข้อมูลข้ามไฟล์ จำเป็นต้องเปิดไฟล์ทั้งสองก่อนสเมอครับ

ส่วนการระบุที่อยู่นั้น เราสามารถเพียงใส่แค่ชื่อไฟล์ได้เลยในกรณีที่ทั้งสองไฟล์อยู่โฟลเดอร์เดียวกันครับ

Code: Select all

Sub Click_send_data_book1()
Dim intRows As Long
Dim n As Range, sn As Range
intRows = Rows.Count
With Workbooks("Book2.xls").Worksheets("Sheet2")
    Set n = .Range("A" & intRows).End(xlUp).Offset(1, 0)
    End With
    Set sn = Sheets("sheet1").Range("b1:d1")
    sn.Copy
    n.PasteSpecial xlPasteValues
    Application.CutCopyMode = False
    MsgBox "ä´éÃѺ¢éÍÁÙÅáÅéÇ"
End Sub
Forum Rules
  1. อย่าใช้ภาษาแชทในการตอบ-ถาม
  2. ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
  3. ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
  4. ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
  5. หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
  6. แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
User avatar
sdmania
Bronze
Bronze
Posts: 320
Joined: Tue Sep 07, 2010 11:38 am
Location: นครสวรรค์

Re: ขอวิธีส่งข้อมูลข้าม workbook ครับ

#5

Post by sdmania »

ได้แล้วครับผม ขอบคุณ คุณBank มากครับ :lol:
User avatar
sdmania
Bronze
Bronze
Posts: 320
Joined: Tue Sep 07, 2010 11:38 am
Location: นครสวรรค์

Re: ขอวิธีส่งข้อมูลข้าม workbook ครับ

#6

Post by sdmania »

คุณBank ครับ ผมรบกวนอีกนิดครับ

สมมุติว่า book2.xls อยู่ในโฟลเดอร์ work_001
ผมจะต้องไปแก้ที่code ของ Book1ว่าอย่างไรครับ

**ทดลองใส่เองแล้วยังไม่ถูกสักทีน่ะครับเลยต้องรบกวนอีกนิดครับผม
User avatar
snasui
Site Admin
Site Admin
Posts: 31255
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ขอวิธีส่งข้อมูลข้าม workbook ครับ

#7

Post by snasui »

:D มาช่วยเสริมครับ
bank9597 wrote:กรณีทำการบันทึกหรือส่งข้อมูลข้ามไฟล์ จำเป็นต้องเปิดไฟล์ทั้งสองก่อนสเมอครับ
ต้องเปิดไฟล์หรือไม่นั้นขึ้นอยู่กับความสามารถในการเขียน Code ครับ
User avatar
bank9597
Guru
Guru
Posts: 3868
Joined: Wed Aug 17, 2011 11:49 am

Re: ขอวิธีส่งข้อมูลข้าม workbook ครับ

#8

Post by bank9597 »

:D ลองดูโค๊ดนี้ครับ ว่าได้หรือไม่
Sub Click_send_data_book1()
Dim intRows As Long
Dim n As Range, sn As Range
Dim ws As Workbooks
Set ws = "d:\work_001\Book2.xls"
intRows = Rows.Count
With ws.Worksheets("Sheet1")
Set n = .Range("A" & intRows).End(xlUp).Offset(1, 0)
End With
Set sn = Sheets("sheet1").Range("b1:d1")
sn.Copy
n.PasteSpecial xlPasteValues
Application.CutCopyMode = False
MsgBox "ä´éÃѺ¢éÍÁÙÅáÅéÇ"
End Sub
Forum Rules
  1. อย่าใช้ภาษาแชทในการตอบ-ถาม
  2. ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
  3. ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
  4. ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
  5. หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
  6. แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
User avatar
sdmania
Bronze
Bronze
Posts: 320
Joined: Tue Sep 07, 2010 11:38 am
Location: นครสวรรค์

Re: ขอวิธีส่งข้อมูลข้าม workbook ครับ

#9

Post by sdmania »

:(
ผมทำแล้วเกิด error ครับ
You do not have the required permissions to view the files attached to this post.
User avatar
sdmania
Bronze
Bronze
Posts: 320
Joined: Tue Sep 07, 2010 11:38 am
Location: นครสวรรค์

Re: ขอวิธีส่งข้อมูลข้าม workbook ครับ

#10

Post by sdmania »

ที่อยู่ของ book2 ซึ่งเป็นไฟล์ที่เอาไว้รับข้อมูล ครับ
You do not have the required permissions to view the files attached to this post.
User avatar
sdmania
Bronze
Bronze
Posts: 320
Joined: Tue Sep 07, 2010 11:38 am
Location: นครสวรรค์

Re: ขอวิธีส่งข้อมูลข้าม workbook ครับ

#11

Post by sdmania »

อันนี้ไฟล์ book1 ที่ผมลองแก้ code ตามครับ
You do not have the required permissions to view the files attached to this post.
User avatar
bank9597
Guru
Guru
Posts: 3868
Joined: Wed Aug 17, 2011 11:49 am

Re: ขอวิธีส่งข้อมูลข้าม workbook ครับ

#12

Post by bank9597 »

sdmania wrote:อันนี้ไฟล์ book1 ที่ผมลองแก้ code ตามครับ
:D ผมลองดูที่ผมเคยทำมา ก็ระบุที่อยู่แบบนั้นไปก็ไม่มีปัญหาอะไร แต่พอมาทำบนไฟล์ของคุณแล้วมันไม่ได้ เลยต้องขอเวลาดูอีกหน่อยครับ
Forum Rules
  1. อย่าใช้ภาษาแชทในการตอบ-ถาม
  2. ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
  3. ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
  4. ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
  5. หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
  6. แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
User avatar
bank9597
Guru
Guru
Posts: 3868
Joined: Wed Aug 17, 2011 11:49 am

Re: ขอวิธีส่งข้อมูลข้าม workbook ครับ

#13

Post by bank9597 »

:D
ลองปรับโค๊ดเป็นดังนี้ครับ

Code: Select all

Sub Click_send_data_book1()
Dim intRows As Long
Dim n As Range, sn As Range
intRows = Rows.Count
With Workbooks("Book2.xls").Worksheets("Sheet2")
  Set n = .Range("A" & intRows).End(xlUp).Offset(1, 0)
End With
With Workbooks("Book1.xls").Worksheets("Sheet1")
  Set sn = .Range("b1:d1")
End With
  sn.Copy
  n.PasteSpecial xlPasteValues
  Application.CutCopyMode = False
  MsgBox "Êè§¢éÍÁÙÅáÅéÇ"
End Sub
ต้องเปิดไฟล์ทั้งสองเสมอครับ กรณีเปิดทั้งสองไฟลืไม่ว่าไฟล์จะอยู่ที่ไหน ก็ไม่มีปัญหาครับ เว้นแต่ไฟล์ปลายทางปิดอยู่ เราต้องระบุที่อยู่ของไฟล์ชัดเจน และเขียนโค๊ดไปในอีกแบบครับ
Forum Rules
  1. อย่าใช้ภาษาแชทในการตอบ-ถาม
  2. ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
  3. ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
  4. ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
  5. หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
  6. แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
User avatar
sdmania
Bronze
Bronze
Posts: 320
Joined: Tue Sep 07, 2010 11:38 am
Location: นครสวรรค์

Re: ขอวิธีส่งข้อมูลข้าม workbook ครับ

#14

Post by sdmania »

ยังไม่ได้ครับเกิด error


ผมลองลบไฟล์ แล้ว new ขึ้นใหม่จากนั้นก็ใส่code อันล่าสุดครับ
มันถามตอนให้เราเลือก ปุ่มมาโครครับซึ่งมีปุ่มเดียว ผมตอบว่า run เกี่ยวกับขึ้นตอนนี้ไหมครับ??
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31255
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ขอวิธีส่งข้อมูลข้าม workbook ครับ

#15

Post by snasui »

:D
sdmania wrote:ผมลองลบไฟล์ แล้ว new ขึ้นใหม่จากนั้นก็ใส่code อันล่าสุดครับ
ไฟล์ชื่ออะไรครับ ตรงกับใน Code หรือเปล่าครับ ลบแล้วชื่อต้นทางและปลายทางจะต้องสร้างให้เป็นชื่อเดิมครับ

ถ้าทุกอย่างเหมือนกันหมด ลองแนบไฟล์ทั้งสองมาดูครับ
User avatar
bank9597
Guru
Guru
Posts: 3868
Joined: Wed Aug 17, 2011 11:49 am

Re: ขอวิธีส่งข้อมูลข้าม workbook ครับ

#16

Post by bank9597 »

:D งั้นลองดูตามไฟล์แนบครับ
You do not have the required permissions to view the files attached to this post.
Forum Rules
  1. อย่าใช้ภาษาแชทในการตอบ-ถาม
  2. ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
  3. ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
  4. ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
  5. หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
  6. แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
User avatar
sdmania
Bronze
Bronze
Posts: 320
Joined: Tue Sep 07, 2010 11:38 am
Location: นครสวรรค์

Re: ขอวิธีส่งข้อมูลข้าม workbook ครับ

#17

Post by sdmania »

:o ได้แล้วครับ :mrgreen:


วันนี้ผมทำดังนี้ครับ
-ผมลบ Book1 ในโฟลเดอร์ E:\DATA_CHL_01 ออกก่อนครับ
-จากนั้น ก็ download ไฟล์ที่คุณแบงค์แนบไฟล์ให้มาล่าสุดครับ ไฟล์ book1.xls ครับ
- ผมเข้าไปแก้code นิดเดียวครับ ที่ว่า book2.xlsx เป็น book2.xls
*ขออนุญาตยกบรรทัดนี้มาครับ
--------------
With Workbooks("Book2.xls").Worksheets("Sheet1")
-------------
ใช้ได้ทันทีเลยครับ


-จากนั้นผมลอง cut ไฟล์ book2 ไปไว้ในโฟลเดอร์อื่น ก็ยังสามารถส่งข้อมูลจาก book1 ไป book2 ได้ครับผม
ทั้งหมดอยู่ในเงื่อนไขเดิม คือต้องเปิดทั้งสองไฟล์เอาไว้ครับ

ขอขอบคุณทั้งสองท่าน อาจารย์ และคุณ bank มากครับผม :mrgreen:
User avatar
bank9597
Guru
Guru
Posts: 3868
Joined: Wed Aug 17, 2011 11:49 am

Re: ขอวิธีส่งข้อมูลข้าม workbook ครับ

#18

Post by bank9597 »

:lol: อาจารย์คนควนสอนผมมาอีกทีครับ

ระวังเรื่องนามสกุลไฟล์ให้ดีครับ พอดีผมใช้เวอร์ 2010 มันเลยเผลอได้ตลอดเวลา ต้องดูโค๊ดให้แน่ใจว่าถูกต้องทั้งหมดก่อนครับ
Forum Rules
  1. อย่าใช้ภาษาแชทในการตอบ-ถาม
  2. ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
  3. ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
  4. ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
  5. หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
  6. แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
Post Reply