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

ให้รันตัวเลข

ฟอรัมถาม-ตอบปัญหาการใช้งาน 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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
liveday
Bronze
Bronze
Posts: 286
Joined: Fri Mar 25, 2011 2:24 pm
Excel Ver: 2007

ให้รันตัวเลข

#1

Post by liveday »

เรียน อาจารย์
ถามว่าถ้าเรา Copy ขึ้นTap ไหม่ จะให้รันตัวเลขไปเรื่อยๆใด้หรือเปล่าครับ
You do not have the required permissions to view the files attached to this post.
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: ให้รันตัวเลข

#2

Post by snasui »

:D ลักษณะการทำงานเป็นอย่างไร ทำไมต้องทำหลาย Tab ครับ ตามปกติแล้วหากเป็นข้อมูลเดียวกันเราจะไม่ใช้หลาย ๆ Form คือควรจะมี Form เดียวแล้วเก็บข้อมูลลง Database และหากจะดึงข้อมูลมาแสดงผลก็ค่อยไปนำมาจาก Database มาใช้ครับ
liveday
Bronze
Bronze
Posts: 286
Joined: Fri Mar 25, 2011 2:24 pm
Excel Ver: 2007

Re: ให้รันตัวเลข

#3

Post by liveday »

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

#4

Post by snasui »

:D ผมไม่ได้สงสัยเรื่องการ Run ตัวเลขครับ แต่สงสัยว่าเหตุใดต้องทำเป็นหลาย Tab ปกติการใช้ฟอร์มเราไม่จำเป็นต้อง Copy ทั้งฟอร์มไป Tab อื่น เราสามารถนำไปเฉพาะข้อมูลเพื่อไปบันทึกลง Database ดังที่ได้กล่าวแล้ว ส่วน Form ก็ใช้ Form เดียว สามารถเขียน Code VBA ให้ Run เลขที่ให้ได้เมื่อมีการคลิกปุ่มเพื่อบันทึกข้อมูลลงฐานข้อมูล เพื่อป้องกันความผิดพลาดในการคีย์
liveday
Bronze
Bronze
Posts: 286
Joined: Fri Mar 25, 2011 2:24 pm
Excel Ver: 2007

Re: ให้รันตัวเลข

#5

Post by liveday »

คือว่าจะทำฟอร์มใบเสร็จรับเงินขั่วคราว เป็นเเบบออนไลน์ เเล้วจะต้องปริ้นให้ลูกค้ากลับไปด้วย
ผมไม่รู้จะเริ่มต้นยังไง อาจารย์ พอจะหาวิธีที่ดีกว่านี้ไหมคับ ส่วนฟอร์มบิลที่ทำอยู่ตอนนี้ ใช้ตัวอย่างดังไฟล์เเนบครับ
ที่เริ่ม Tap ไหม่คือ Tap เเรกจะเป็น Defaut Tap ถัดไปจะเริ่มนับตัวเลขบิล
ที่เปิดเป็น Tap เพราะว่าถ้ามีปัญหากับลูกค้าในภายหลัง ก็จะนำฟอร์มที่มีปัญหานี้นำกลับมายืนยันลูกค้าเเล้วปริ้นขึ้นมาไหม่ใด้ครับ
รบกวนอาจารย์เเนะนำเเนวทางด้วยนะครับ
You do not have the required permissions to view the files attached to this post.
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: ให้รันตัวเลข

#6

Post by snasui »

:D ผมทำตัวอย่างการเก็บข้อมูลลง Database ตามไฟล์แนบครับ แยกเก็บเงินมัดจำไว้ต่างหากอีกชีท โดยใช้ Code ตามด้านล่าง

Code: Select all

Sub RecordBill()
Dim rs As Range, rt As Range
Dim rs1 As Range, rt1 As Range
Dim i As Integer
Worksheets("Default").Range("D1") _
    = Application.Max(Worksheets("Database") _
        .Range("C:C")) + 1
With Worksheets("Template")
    i = Application.CountIf( _
        .Range("J3:J15"), ">0")
    Set rs = .Range("A2:J" & 2 + i)
    Set rs1 = .Range("A21:I21")
End With
    Set rt = Worksheets("Database") _
        .Range("A65536").End(xlUp).Offset(1, 0)
    Set rt1 = Worksheets("Deposit") _
        .Range("A65536").End(xlUp).Offset(1, 0)
    rs.Copy
    rt.PasteSpecial xlPasteValues
    rs1.Copy
    rt1.PasteSpecial xlPasteValues
    Application.CutCopyMode = False
MsgBox "Finish"
End Sub
ลองทดสอบบันทึกข้อมูลดูครับ กรณีที่ต้องการดึงข้อมูลที่มีอยู่แล้วมาแสดง ให้สร้าง Form ขึ้นมาใหม่เพิ่มเติม แยกไว้ต่างหากอีกชีท แล้วค่อยใช้สูตรเพื่อดึงค่าต่าง ๆ ขึ้นมา อาจจะใช้เงื่อนไขเป็นเลขที่บิล ลองทำขึ้นมาเองดูก่อน ติดขัดตรงไหนถามมาเรื่อย ๆ ครับ
You do not have the required permissions to view the files attached to this post.
liveday
Bronze
Bronze
Posts: 286
Joined: Fri Mar 25, 2011 2:24 pm
Excel Ver: 2007

Re: ให้รันตัวเลข

#7

Post by liveday »

ขอบคุณมากครับ
liveday
Bronze
Bronze
Posts: 286
Joined: Fri Mar 25, 2011 2:24 pm
Excel Ver: 2007

Re: ให้รันตัวเลข

#8

Post by liveday »

สอบถามอาจารย์เพิ่มเติมครับ หลังจากหายไปนาน
หลังที่อาจารย์เเนะนำมา ตอนนี้เริ่มทำไปที่ 60% เเล้ว เเต่ตอนนี้จะทำข้อมูลเพิ่มเติมต่อยอดจากอาจารย์
1.จะเพิ่มในส่วนของสรุปยอดรายเดือน
2.เเบบฟอร์มที่ต้องการดึงข้อมูลเก่ามาใช้ ใช้เเบบฟอร์มเดิมใด้หรือเปล่าครับ
3.ที่เจอรายการที่ 2 ตรง บิลฟอร์ม Default ไม่ไปเเสดงที่ Database ครับ
ขอคำเเนะนำอาจารย์ด้วยครับ ขอบคุณครับ
You do not have the required permissions to view the files attached to this post.
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: ให้รันตัวเลข

#9

Post by snasui »

:D ชีท Default เซลล์ B14:B17 ควรจะอยู่ในเซลล์เดียวกัน หากว่าต้องแยกบรรทัดจะต้องมีระยะห่างระหว่างข้อ 1 และ ข้อ 2 ไว้คงที่เสมอจะได้ง่ายต่อการจัดการ ไม่ทราบว่าติดประเด็นอะไรหรือไม่ครับ
liveday
Bronze
Bronze
Posts: 286
Joined: Fri Mar 25, 2011 2:24 pm
Excel Ver: 2007

Re: ให้รันตัวเลข

#10

Post by liveday »

รบกวนอาจารย์ครับ

พอดีว่าใส่ VBA เเล้วมันขึ้น Runtime error '1004': Application-defined or object-defined error

ต้องเเก้ใขส่วนไหนหรือเปล่าครับ ลองรันโดยการกด F8 จะติดบรรทัดนี้ครับ

Sub PasteToTotal()
Dim rs As Range
Dim rt As Range
Set rs = Worksheets("Default").Range("G5", Range("G7") _
.End(xlUp).Offset(0, 8))
Set rt = Worksheets("Tota").Range("A2").End(xlUp).Offset(1, 0) *****จะติดบรรทัดนี้ เเล้วขึ้น Runtime error '1004': Application-defined or object-defined error

rs.Copy
rt.PasteSpecial xlPasteValues
Application.CutCopyMode = False
MsgBox "Finish."
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: ให้รันตัวเลข

#11

Post by snasui »

:D ตรวจสอบว่า Worksheets("Tota") ถูกต้องหรือไม่ครับ หากถูกต้องแล้วช่วยส่งไฟล์ตัวอย่างที่เกิดค่าผิดพลาดนี้มาด้วยครับ
liveday
Bronze
Bronze
Posts: 286
Joined: Fri Mar 25, 2011 2:24 pm
Excel Ver: 2007

Re: ให้รันตัวเลข

#12

Post by liveday »

ใด้เเล้วครับ สาเหตุเกิดจากตอน กด F8 เช็คดูนั้น Tabไปอยู่ที่ Total ทำให้บันทึกไม่ใด้
Post Reply