: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
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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
sosadboy
Member
Member
Posts: 64
Joined: Tue Sep 12, 2017 3:47 pm

บันทึกข้อมูลข้ามชีท โดยชื่อชีทเปลี่ยนแปลงตามวันที่ปัจจุบัน

#1

Post by sosadboy »

ผมสร้างไฟล์เพื่อใช้เป็นฟอร์มบันทึกข้อมูล และบันทึกข้อมูลไว้ในอีกชีท คือ ชีท Database ปัญหาคือ ผมต้องการเปลี่ยนการบันทึกข้อมูลใหม่ จากเดิมบันทึกลงชีท Database ให้ไปบันทึกในชีทที่สร้างขึ้นมาใหม่ โดยเมื่อเปิดไฟล์ได้เขียนโค๊ดให้สร้างชีทใหม่ และตั้งชื่อชีทตามวันที่ปัจจุบัน ซึ่งชื่อชีทจะเปลี่ยนไปตามวันที่ปัจจุบัน ในส่วนนี้ผมไม่สามารถเขียนโค๊ดให้ไปบันทึกในชีทใหม่ที่ตั้งชื่ออ้างอิงกับวันที่ปัจจุบันได้ เพราะโค๊ดเดิมนั้นเจาะจงให้บันทึกลงใน Database จึงขอความกรุณาทุกท่านช่วยชี้แนะหรือช่วยปรับโค๊ดในส่วนนี้ให้ด้วยครับ

Code: Select all

Sub บันทึกข้อมูลอวนปัญหา()
Dim r1 As Range
Dim lastRow As Integer
With Worksheets("ฟอร์มบันทึกรายการอวนปัญหา")
    Set r1 = .Range("B4:L4")
End With
With Worksheets("Database")
    lastRow = .Range("B" & .Rows.Count).End(xlUp).Row + 1
    r1.Copy
    .Range("B" & lastRow).PasteSpecial xlPasteValues
  End With
  Application.CutCopyMode = False
End Sub
โค๊ดนี้ใช้บันทึกข้อมูลลงชีท Database ครับ ส่วนตัวพยายามหาตัวอย่างในเว็ปแล้วแต่ไม่มีที่พอจะมาดัดแปลงใช้กับปัญหาที่เจอเลยครับครับ
You do not have the required permissions to view the files attached to this post.
User avatar
puriwutpokin
Guru
Guru
Posts: 3801
Joined: Fri Jan 04, 2013 9:49 pm
Location: Bangkok
Excel Ver: MS.365

Re: บันทึกข้อมูลข้ามชีท โดยชื่อชีทเปลี่ยนแปลงตามวันที่ปัจจุบัน

#2

Post by puriwutpokin »

ปรับเปลี่ยนในส่วนนี้ดูครับ ถ้าชื่อชีทเป็น พ.ศ.ให้เปลี่ยนเป็นตามโค้ดด้านล่าง แต่ถ้าเป็น ค.ศ. ก็แก้ชื่อชีทก่อนหรือแอดใหม่ให้เป็น ค.ศ. ก็รันได้ปกติครับ

Code: Select all

TodayDate=Format(Day(Date) & "/" & Month(Date) & "/" & (Year(Date) + 543), "d-mmm-yyyy")
:shock: :roll: :D
sosadboy
Member
Member
Posts: 64
Joined: Tue Sep 12, 2017 3:47 pm

Re: บันทึกข้อมูลข้ามชีท โดยชื่อชีทเปลี่ยนแปลงตามวันที่ปัจจุบัน

#3

Post by sosadboy »

ขอบคุณครับสำหรับคำแนะนำครับ ผมอาจจะอธิบายไม่ครบ แต่ที่ต้องการให้ช่วยแนะนำจริงๆ คือส่วนของโค๊ด Sub บันทึกข้อมูลอวนปัญหา() โค๊ดช่วง

Code: Select all

With Worksheets("Database")
คือตอนนี้เมื่อใส่ข้อมูลลงในฟอร์มในชีทแรก แล้วกดปุ่มบันทึกข้อมูล มันจะบันทึกลงชีทที่ 2 คือชีท Database ความต้องการคืออยากให้ชื่อชีทตรงนี้ไม่ fix ครับ ให้เปลี่ยนตามชื่อชีทที่ทำการสร้างขึ้นใหม่ตอนเปิดไฟล์คือชีทที่ 3 ที่มีชื่อชีทเป็น วันที่ปัจจุบัน ครับ พอพรุ่งนี้เเปิดไฟล์ใหม่เพื่อบันทึกข้อมูล มันก็จะสร้างชีทใหม่ชื่อเป็นวันที่ของวันพรุ่งนี้ พอกดบันทึกก็ให้บันทึกข้อมูลลงในชีทของวันพรุ่งนี้ได้เลย ประมาณนี้ครับ
User avatar
puriwutpokin
Guru
Guru
Posts: 3801
Joined: Fri Jan 04, 2013 9:49 pm
Location: Bangkok
Excel Ver: MS.365

Re: บันทึกข้อมูลข้ามชีท โดยชื่อชีทเปลี่ยนแปลงตามวันที่ปัจจุบัน

#4

Post by puriwutpokin »

ผลรันตามนี้แล้วครับมันไปตามชื่อชีทนะครับ

Code: Select all

Sub บันทึกข้อมูลอวนปัญหา()
Dim r1 As Range
Dim lastRow As Integer
TodayDate = Worksheet
TodayDate = Format(Date, "dd-mmm-yyyy")
With Worksheets("ฟอร์มบันทึกรายการอวนปัญหา")
    Set r1 = .Range("B4:L4")
End With
With Worksheets(TodayDate)
    lastRow = .Range("B" & .Rows.Count).End(xlUp).Row + 1
    r1.Copy
    .Range("B" & lastRow).PasteSpecial xlPasteValues
  End With
  Application.CutCopyMode = False
End Sub
:shock: :roll: :D
sosadboy
Member
Member
Posts: 64
Joined: Tue Sep 12, 2017 3:47 pm

Re: บันทึกข้อมูลข้ามชีท โดยชื่อชีทเปลี่ยนแปลงตามวันที่ปัจจุบัน

#5

Post by sosadboy »

ได้แล้วครับ ขอบคุณมากครับ
Post Reply