: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
🪷 คำแสดงเจตนา
ขอผลแห่งการให้ความรู้นี้ จงกลับไปยังผู้ที่เป็นเจ้าของเดิม แม้ข้าพเจ้าจะไม่รู้จักท่านก็ตาม ขอให้แสงแห่งปัญญาที่ท่านเคยจุดไว้ ได้กลับไปเติมเต็มชีวิตของท่านอีกครั้ง และขอให้เจตนาของข้าพเจ้าเป็นการคืนความดีอย่างสงบ

สร้าง user form บันทึกไปยังอีกไฟล์

ฟอรัมถาม-ตอบปัญหาการใช้งาน MS Excel and VBA
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
bank9597
Guru
Guru
Posts: 3868
Joined: Wed Aug 17, 2011 11:49 am

สร้าง user form บันทึกไปยังอีกไฟล์

#1

Post by bank9597 »

อาจารย์ครับ ผมได้สร้างฟอร์มเพื่อเพิ่มข้อมูลบริษัทลงในตาราง "Vendor"โดยใช้โค๊ดดังนี้ครับ

Code: Select all

Private Sub CommandButton1_Click()

Dim irow As Long
Dim ws As Worksheet
Set ws = Worksheets("Vendor")
'find first empty row in database
irow = ws.Cells(Rows.Count, 2) _
    .End(xlUp).Offset(1, 0).Row
'Check for Id
If Trim(Me.TextBox1.Value) = "" Then
    Me.TextBox1.SetFocus
    MsgBox "ãÊèª×èÍÊÔ¹¤éÒ"
    Exit Sub
End If
'copy the data to the database
ws.Cells(irow, 2).Value = Me.TextBox1.Value
ws.Cells(irow, 3).Value = Me.TextBox2.Value
ws.Cells(irow, 4).Value = Me.TextBox3.Value

'Clear the data
Me.TextBox1.Value = ""
Me.TextBox2.Value = ""
Me.TextBox3.Value = ""
Me.TextBox1.SetFocus

End Sub
หากข้อมูลตาราง "Vendor" ถูกบันทึกอยู่ในอีกไฟล์หนึ่ง ชื่อ Supplier.xls ผมจะเปลี่ยนแปลงโค๊ดข้างต้นอย่างไรครับ
สมมุติว่าไฟล์ชื่อ Supplier.xls อยู่ใน "C:\Server\Boonpanawat\Supplier.xls"

รบกวนด้วยครับ
Forum Rules
  1. อย่าใช้ภาษาแชทในการตอบ-ถาม
  2. ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
  3. ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
  4. ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
  5. หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
  6. แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
User avatar
snasui
Site Admin
Site Admin
Posts: 31176
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: สร้าง user form บันทึกไปยังอีกไฟล์

#2

Post by snasui »

:D เปิดไฟล์ Supplier.xls ขึ้นมาด้วยครับ แล้วปรับ Code จากบรรทัดนี้

Code: Select all

Set ws = Worksheets("Vendor")
เป็นด้านล่า่ง

Code: Select all

set ws = Workbooks("Supplier.xls").worksheets("Vendor")
ข้อมูลก็จะถูกบันทึกลงตามตำแหน่งไฟล์ ตำแหน่งชีทที่ต้องการ
User avatar
bank9597
Guru
Guru
Posts: 3868
Joined: Wed Aug 17, 2011 11:49 am

Re: สร้าง user form บันทึกไปยังอีกไฟล์

#3

Post by bank9597 »

ขอบคุณมากๆครับ อิอิ
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: สร้าง user form บันทึกไปยังอีกไฟล์

#4

Post by bank9597 »

อาจารย์ ผมเปลี่ยนแล้ว แต่มันยังบันทึกไม่ได้ มันเป็นดังภาพครับ
untitled.JPG

ผมต้องแก้ตรงไหนเพิ่มอีกไหมครับ
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
snasui
Site Admin
Site Admin
Posts: 31176
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: สร้าง user form บันทึกไปยังอีกไฟล์

#5

Post by snasui »

:D ดู Code แล้วไม่น่ามีปัญหาใดครับ ช่วยโพสต์ Error หรือแนบไฟล์มาด้วย เพื่อจะได้ทดสอบได้ครับ
User avatar
bank9597
Guru
Guru
Posts: 3868
Joined: Wed Aug 17, 2011 11:49 am

Re: สร้าง user form บันทึกไปยังอีกไฟล์

#6

Post by bank9597 »

ผมเปลี่ยนจาก Supplier เป็น Product แล้วครับ ซึ่งนั่นก็หมายความว่า ผมต้องการเพิ่มข้อมูลสินค้าผ่าน UserForm2 ไปยัง Product.xls ครับ โดยอยู่ในไดร์ฟ D ครับ
Model.xlsm
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
snasui
Site Admin
Site Admin
Posts: 31176
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: สร้าง user form บันทึกไปยังอีกไฟล์

#7

Post by snasui »

:D ส่งมาทั้งสองไฟล์เลยครับ :mrgreen:
User avatar
bank9597
Guru
Guru
Posts: 3868
Joined: Wed Aug 17, 2011 11:49 am

Re: สร้าง user form บันทึกไปยังอีกไฟล์

#8

Post by bank9597 »

ไฟล์ Product.xls ครับ
Product.xls
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
snasui
Site Admin
Site Admin
Posts: 31176
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: สร้าง user form บันทึกไปยังอีกไฟล์

#9

Post by snasui »

:D Code ด้านล่าง ผมทดสอบแล้วไม่พบว่าผิดพลาดครับ

Code: Select all

Private Sub CommandButton1_Click()

Dim irow As Long
Dim ws As Worksheet
Set ws = Workbooks("Product.xls").Worksheets("Product") '<== Adjust this line.
'find first empty row in database
irow = ws.Cells(Rows.Count, 2) _
    .End(xlUp).Offset(1, 0).Row
'Check for Id
If Trim(Me.TextBox1.Value) = "" Then
    Me.TextBox1.SetFocus
    MsgBox "ãÊèª×èÍÊÔ¹¤éÒ"
    Exit Sub
End If
'copy the data to the database
ws.Cells(irow, 2).Value = Me.TextBox1.Value
ws.Cells(irow, 3).Value = Me.TextBox2.Value
ws.Cells(irow, 4).Value = Me.TextBox3.Value

'Clear the data
Me.TextBox1.Value = ""
Me.TextBox2.Value = ""
Me.TextBox3.Value = ""
Me.TextBox1.SetFocus
End Sub
User avatar
bank9597
Guru
Guru
Posts: 3868
Joined: Wed Aug 17, 2011 11:49 am

Re: สร้าง user form บันทึกไปยังอีกไฟล์

#10

Post by bank9597 »

:cry: ของผมมันยังไม่ได้เลยครับอาจารย์ รันแล้วก็เกิด Error ตามภาพที่แนบไว้ข้างต้นอ่ะครับ

ผมเปิดสองไฟล์พร้อมกัน มัน Error พอปิดไฟล์ Product.xls มันก็ Error อีกครับ

แต่เวลาปิดไฟล์ Product.xls มันจะฟ้อง ดังภาพ
untitled2.JPG
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
snasui
Site Admin
Site Admin
Posts: 31176
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: สร้าง user form บันทึกไปยังอีกไฟล์

#11

Post by snasui »

:lol: เจอปัญหานี้เป็นเรื่องที่ดีครับ จะเป็นประโยชน์กับท่านอื่น ๆ ด้วยครับ

สาเหตุเป็นเพราะ
  1. ไฟล์ Product.xls เป็น Version 2003
  2. ไฟล์ Model.xlsm เป็น Version 2007
  3. หากเปิด Model.xlsm ด้วย Version 2007 จะมีปัญหากับการ Assign ค่าให้กับ irow เป็น irow = ws.Cells(Rows.Count, 2) _
    .End(xlUp).Offset(1, 0).Row ทั้งนี้เพราะ 2003 มีแค่ 65536 บรรทัด แต่ Rows.Count นับแล้วได้ 1048576 คือเท่ากับจำนวนบรรทัดของ Excel 2007 ซึ่งไม่มีบรรทัดนี้ใน Excel Version 2003 จึงเกิด Error อย่างที่เห็น
การแก้ไขให้แปลงไฟล์ Product.xls ให้เป็น Product.xlsx การแปลงสามารถเข้าเมนูโดยคลิก Office Button > Convert

และเพื่อป้องกันปัญหาลักษณะนี้ ควรใช้ไฟล์ที่เป็น Excel Version เดียวกันทั้งหมดครับ 8-)
User avatar
bank9597
Guru
Guru
Posts: 3868
Joined: Wed Aug 17, 2011 11:49 am

Re: สร้าง user form บันทึกไปยังอีกไฟล์

#12

Post by bank9597 »

:roll: อิอิ Get เลยครับ แก้ได้แล้วครับ

ผมใช้ Version 2007 ครับ แต่เพื่อป้องกันปัญหาเลยบันทึกเป็น 2003 ตลอดเลย เพื่อให้เวอร์ชั่นเก่าๆ สามารถใช้งานได้

ผมอยากทราบว่า ถ้าเราบันทึกเป็น .xlsx จะมีปัญหาอย่างไร หรือถ้าบันทึกเป็น .xls จะมีปัญหาอะไรที่จะตามมาในอนาคตบ้างครับ
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: สร้าง user form บันทึกไปยังอีกไฟล์

#13

Post by bank9597 »

:mrgreen: เพิ่มอีกนิดครับ เวลาเราจะบันทึกข้อมูลในลักษณะแบบนี้ จำเป็นไหมที่เราต้องเปิดไฟล์ทั้ง 2 ขึ้นมาพร้อมกัน
พอดีว่าผมลองปิดไฟล์ Product แล้วทำการบันทึกข้อมูล ปรากฏว่าไม่สามารถบันทึกได้ แต่ถ้าเปิดมาพร้อมกัน ก็ไม่มีปัญหาใดๆครับ

และถ้าสามารถบันทึกข้ามไฟล์โดยที่ไม่ต้องเปิดไฟล์ทั้ง 2 พร้อมกันได้ แสดงว่า ผมก็สามารถทำรายการสั่งซื้อ แล้วบันทึกข้อมูลไปอยู่ในอีกไฟล์หนึ่ง ที่ใช้เก็บข้อมูลโดยเฉพาะ แบบนี้จะได้ไหมครับ
Last edited by bank9597 on Wed Oct 19, 2011 10:40 pm, edited 1 time in total.
Forum Rules
  1. อย่าใช้ภาษาแชทในการตอบ-ถาม
  2. ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
  3. ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
  4. ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
  5. หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
  6. แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
User avatar
snasui
Site Admin
Site Admin
Posts: 31176
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: สร้าง user form บันทึกไปยังอีกไฟล์

#14

Post by snasui »

:D การบันทึกเป็นอะไรไม่สำคัญเท่าการใช้ร่วมกัน 2 Version ครับ ปัญหาก็อาจจะเป็นได้หลายอย่าง ดูกระทู้นี้สำหรับข้อมูลเพิ่มเติมครับ http://www.snasui.com/viewtopic.php?f=3&t=1727

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

Re: สร้าง user form บันทึกไปยังอีกไฟล์

#15

Post by bank9597 »

ครับ ผมพอเข้าใจแล้วครับ ขอบคุณสำหรับความช่วยเหลือครับ วันนี้ผมรบกวนแค่นี้ครับ ขอบคุณอาจารย์มากๆครับ
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: สร้าง user form บันทึกไปยังอีกไฟล์

#16

Post by bank9597 »

:D สวัสดีครับอาจารย์ เมื่อคืนทิ้งท้ายไว้ในเรื่องการบันทึกข้ามไฟล์
ปัญหาคือเราไม่สามารถบันทึกข้ามไฟล์ได้ ถ้าไฟล์ทั้ง 2 ไม่ถูกเปิดพร้อมกัน เมื่อเป็นดังนี้ผมเลยต้องหาวิธีใหม่มาแก้ปัญหาอีกครั้ง
ต้องเรียนว่า นี่เป็นโปรเจ็คศึกษาครับ เลยต้องเรียนรู้ทุกๆทางไว้ก่อน ได้มากน้อยเพียงใดนั้น จะต้องกลับไปศึกษาให้ลึกซึ้งมากกว่าเดิมอีกครั้งครับ

ผมได้สร้างไฟล์ Product.xlsx โดยมีชีท "Product","Import","Temp" ในชีท "Product" ผมได้สร้างตารางไว้ใส่ข้อมูล แล้วสร้างปุ่มไว้บันทึกไปยังไฟล์ชื่อ Test.txt ใน D\Server\Boonpanawat\Test.txt เบื้องต้นผมได้แกะโค๊ดมาใช้งาน สามารถบันทึกข้อมูลตามต้องการได้ครับ แต่ปัญหาคือ ข้อมูลที่ไปบันทึกนั้นจะต้องเหมือนกับข้อมูลต้นทางทุกครั้งไป ยกตัวอย่าง สมมุติครั้งที่ 1 มีข้อมูล 3 บรรทัด บันทึกไปเก็บไว้ พอครั้งที่ 2 เราลบข้อมูลเดิมทิ้งไป แล้วคีย์ข้อมูลใหม่ บันทึกไปเก็บ ปรากฏว่าข้อมูลที่บันทึกไปครั้งที่ 1 หายไป เหลือแต่ข้อมูลครั้งที่บันทึกไปล่าสุดเท่านั้น

เราจะแก้ปัญหานี้ได้ไหมครับ ให้ข้อมูลบันทึกไปเรียงต่อท้ายกัน เหมือนบันทึกในไฟล์ Excel และหากทำได้ เราจะนำข้อมูลมาใช้อย่างไร เพราะที่ทำแล้ว อยู่ในชีท Import ซึ่งข้อมูลที่นำเข้ามาจะไม่ตรงคอลัมน์เลย

ปัญหาดังกล่าว ไม่ใช่ประเด็นสำคัญครับ สำคัญตรงที่เราสามารถบันทึกข้อมูลข้ามไฟล์ได้ และผมอยากรู้ว่า หากผมเลือกแบบนี้มันจะดีหรือไม่ครับ เพราะ SQl,ACCESS ผมไม่ค่อยสันทัดเท่าไหร่
Product.xlsm
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
snasui
Site Admin
Site Admin
Posts: 31176
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: สร้าง user form บันทึกไปยังอีกไฟล์

#17

Post by snasui »

:D สำหรับ Code ที่แนบมามีการเว้นบรรทัดในทุก Record นอกจากนี้ยังเขียนทับตำแหน่งเดิม ผมเลยเขียนตัวอย่าง Code สำหรับการ Write ต่อเนื่องกันไปมาให้ตามด้านล่างครับ

Code: Select all

Sub SaveToText()
    Dim Filename As String
    Dim Data As Variant
    Dim ExpRng As Range
    Dim r As Range
    With Worksheets("Product")
        Set ExpRng = .Range("A2", _
            .Range("A" & Rows.Count).End(xlUp))
    End With
    Filename = "D:\Test.txt" '<= Change to your path
    Open Filename For Append As #1
    For Each r In ExpRng
        Data = r & "|" & r.Offset(0, 1) & "|" & r.Offset(0, 2)
        Print #1, Data
    Next r
    Close #1
    MsgBox "Finish."
End Sub
User avatar
bank9597
Guru
Guru
Posts: 3868
Joined: Wed Aug 17, 2011 11:49 am

Re: สร้าง user form บันทึกไปยังอีกไฟล์

#18

Post by bank9597 »

อิอิ ขอบคุณครับ 8-)
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: สร้าง user form บันทึกไปยังอีกไฟล์

#19

Post by bank9597 »

อาจารย์ครับ ในการเซฟไปเก็บไว้ใน TextFile เราต้องเปลี่ยนแปลงโค๊ดอย่างไร เพื่อที่เวลาเราดึงมาใช้งาน มันจะมาตามคอลัมน์ที่เราต้องการ
โค๊ดนี้ครับ

Code: Select all

Data = r & "|" & r.Offset(0, 1) & "|" & r.Offset(0, 2)
Forum Rules
  1. อย่าใช้ภาษาแชทในการตอบ-ถาม
  2. ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
  3. ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
  4. ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
  5. หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
  6. แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
User avatar
snasui
Site Admin
Site Admin
Posts: 31176
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: สร้าง user form บันทึกไปยังอีกไฟล์

#20

Post by snasui »

:D ตอนที่เปิดไฟล์ .txt โปรแกรมจะถามว่าให้แบ่งข้อความอย่างไร เลือก Dilimited > Next > ทำเครื่องหมายตรง Other > คีย์ Pipe (เครื่องหมาย |) > Finish
Post Reply