: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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
User avatar
parakorn
Gold
Gold
Posts: 1223
Joined: Thu Mar 14, 2013 9:41 am
Location: Central Chaengwattana[Tops]
Excel Ver: 365
Contact:

สอบถามสูตรสำหรับสรุปข้อมูล คงเหลือ

#1

Post by parakorn »

สวัสดีอาจารย์และพี่ๆในบอร์ดครับ

จากไฟล์ที่แนบ ที่ชีท สต็อค และ เบิก จะมีการเพิ่มรายการตลอดเวลา

ดังนั้นที่ชีท คงเหลือ ผมจึงต้องการให้แสดงข้อมูล ที่ชีท สต็อค และ เบิก
หักลบกันครับ โดยแสดงรายการที่ คงเหลือ 0 ด้วยครับ

ขอความกรุณาด้วยครับ :D
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31156
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: สอบถามสูตรสำหรับสรุปข้อมูล คงเหลือ

#2

Post by snasui »

:D ที่ชีตคงเหลือ เซลล์ D5 คีย์สูตรตามด้านล่างครับ

=สต็อค!D5-SUMIFS(เบิก!$D$5:$D$6,เบิก!$B$5:$B$6,B5,เบิก!$E$5:$E$6,E5)

Enter > Copy ลงด้านล่าง โดยถือว่าทุกรหัสในชีตคงเหลือมีบรรทัดตรงกับชีตสต็อค
User avatar
parakorn
Gold
Gold
Posts: 1223
Joined: Thu Mar 14, 2013 9:41 am
Location: Central Chaengwattana[Tops]
Excel Ver: 365
Contact:

Re: สอบถามสูตรสำหรับสรุปข้อมูล คงเหลือ

#3

Post by parakorn »

ขอบคุณครับ รบกวนขอสอบถามต่อนะครับ
จากไฟล์ที่แนบ ที่ Sheet "L" ผม add macro ไว้ที่ F1
โดยโค้ดอยู่ที่ Module 2 ผมต้องการให้โค้ดสามารถยืดยุ่น
สามารถปรับใช้ กับ F2 , F3 ,etc โดยไม่ต้องแก้ไขโค้ด
ต้องปรับแต่งอย่างไรครับ :ugeek:
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31156
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: สอบถามสูตรสำหรับสรุปข้อมูล คงเหลือ

#4

Post by snasui »

:D ตัวอย่างการปรับ Code ตามด้านล่างครับ

Code: Select all

Sub CreL()
'
' CreL Macro
'

'
    i = 3
    Sheets("Cre Recive").Select
    ActiveCell.Select
    For Each r In Sheets("L").Range("m3:m1000").SpecialCells(xlCellTypeConstants)
    ActiveCell.FormulaR1C1 = "=L!R" & i & "C13"
    ActiveCell.Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    i = i + 1
    Next r
End Sub
User avatar
parakorn
Gold
Gold
Posts: 1223
Joined: Thu Mar 14, 2013 9:41 am
Location: Central Chaengwattana[Tops]
Excel Ver: 365
Contact:

Re: สอบถามสูตรสำหรับสรุปข้อมูล คงเหลือ

#5

Post by parakorn »

โค้ดมันวิ่งหา F4 หมดเลยครับอาจารย์
User avatar
snasui
Site Admin
Site Admin
Posts: 31156
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: สอบถามสูตรสำหรับสรุปข้อมูล คงเหลือ

#6

Post by snasui »

:D ช่วยอธิบายมาใหม่อีกครั้งครับว่าลำดับการทำงานเป็นเช่นไร หาก Code ทำงานถูกต้องจะต้องได้คำตอบเป็นค่าใดบ้าง จะได้เข้าถึงปัญหาโดยไวครับ
User avatar
parakorn
Gold
Gold
Posts: 1223
Joined: Thu Mar 14, 2013 9:41 am
Location: Central Chaengwattana[Tops]
Excel Ver: 365
Contact:

Re: สอบถามสูตรสำหรับสรุปข้อมูล คงเหลือ

#7

Post by parakorn »

ต้องการโค้ดที่คีย์ข้อมูล ตามกล่องต่างๆใน Sheet"L" ครับ
เช่น add macro ที่กล่อง F1 เมื่อคลิ๊กที่กล่อง F1 Cell ที่ Active จะทำการคีย์ข้อความ "F1" :D
User avatar
snasui
Site Admin
Site Admin
Posts: 31156
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: สอบถามสูตรสำหรับสรุปข้อมูล คงเหลือ

#8

Post by snasui »

:D ลองจับภาพแสดงลำดับการทำงานมาด้วยครับ
User avatar
parakorn
Gold
Gold
Posts: 1223
Joined: Thu Mar 14, 2013 9:41 am
Location: Central Chaengwattana[Tops]
Excel Ver: 365
Contact:

Re: สอบถามสูตรสำหรับสรุปข้อมูล คงเหลือ

#9

Post by parakorn »

จากภาพ ต้องการ Code สำหรับคลิ๊ก เพื่อคีย์ที่อยู่ตาม Caption ของกล่องแต่ล่ะกล่องครับ
เช่น คลิ๊กที่ กล่อง "F1"(ที่ลูกศรชี้ รูปที่1) ซึ่ง "F1" ที่แสดงผลไม่ใช่ Textbox ของแต่ล่ะกล่อง
แต่อ้างอิงมาจาก Column M(เพื่อง่ายต่อการเปลี่ยนแปลงเลขที่บ้าน)

Code ก็จะคีย์ "F1" ที่ Cell ที่ Active ไว้ ที่ Sheet "Cre Recive" (รูปที่2)

และจะเป็นไปได้ไหมครับ ถ้าจะเขียนCode สำหรับ ปุ่มดอกจันทร์ ใน Sheet "Cre Recive" (รูปที่ 3)
ให้บังคับ Code ด้านบน ทำการคีย์ข้อมูล ด้านหน้าปุ่มเหล่านี้(Sheet "Cre Recive" Cell J9:J18)
หรือผมวาง หลักการใช้งานมันผิดครับ :cry:
Macro.png
Macro2.png
Macro3.png
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31156
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: สอบถามสูตรสำหรับสรุปข้อมูล คงเหลือ

#10

Post by snasui »

parakorn wrote:เช่น คลิ๊กที่ กล่อง "F1"(ที่ลูกศรชี้ รูปที่1) ซึ่ง "F1" ที่แสดงผลไม่ใช่ Textbox ของแต่ล่ะกล่อง
แต่อ้างอิงมาจาก Column M(เพื่อง่ายต่อการเปลี่ยนแปลงเลขที่บ้าน)

Code ก็จะคีย์ "F1" ที่ Cell ที่ Active ไว้ ที่ Sheet "Cre Recive" (รูปที่2)
:D ตัวอย่าง Code ครับ

Code: Select all

Sub CreL()
    On Error Resume Next
    Dim obj As Object
    Set obj = Sheets("L").Shapes(Application.Caller)
    Sheets("Cre Recive").Select
    ActiveCell.Select
    Selection.Value = obj.DrawingObject.Caption
End Sub
ทำการ Assign Code นี้ให้กับทุกปุ่มในชีต L

ส่วนกรณีปุ่มดาวยังไม่เคลียร์ ควรให้เคลียร์ไปทีละประเด็นแล้วค่อยถามคำถามถัดไปครับ
User avatar
parakorn
Gold
Gold
Posts: 1223
Joined: Thu Mar 14, 2013 9:41 am
Location: Central Chaengwattana[Tops]
Excel Ver: 365
Contact:

Re: สอบถามสูตรสำหรับสรุปข้อมูล คงเหลือ

#11

Post by parakorn »

S1 ถึง S4 และ O1 ถึง O3 รวมถึง F4
โค้ดไม่ทำงานครับผม
ตามไฟล์แนบครับ :D
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31156
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: สอบถามสูตรสำหรับสรุปข้อมูล คงเหลือ

#12

Post by snasui »

:D ผมลองสร้างรูปวาดแบบอื่นขึ้นมาใหม่แทนแบบเดิม เช่นรูปลูกศร แล้วค่อย Assign Macro พบว่าสามารถ Run Code ได้ปกติครับ

ส่วนสาเหตุที่รูปวาดเดิมมีปัญหานั้นยังไม่มีเวลาไปติดตามตรวจสอบครับ
User avatar
parakorn
Gold
Gold
Posts: 1223
Joined: Thu Mar 14, 2013 9:41 am
Location: Central Chaengwattana[Tops]
Excel Ver: 365
Contact:

Re: สอบถามสูตรสำหรับสรุปข้อมูล คงเหลือ

#13

Post by parakorn »

แก้ไขเรียบร้อยครับ บางรูปแบบมันไม่สามารถรันโค้ดได้ครับ :D
จากไฟล์ที่แนบ ในส่วนปุ่มดอกจันทร์ที่ชีท "Cre Recive" ต้องการโค้ดที่
selection ไปด้านหน้าของปุ่มนั้นๆ (เช่นปุ่มแรก selection J9) แล้วจึง
Goto Sheet"L" เพื่อเลือกเลขที่บ้านครับ :D
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31156
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: สอบถามสูตรสำหรับสรุปข้อมูล คงเหลือ

#14

Post by snasui »

:D Code ที่เขียนไว้แล้วชื่ออะไร ติดขัดที่บรรทัดใดครับ
User avatar
parakorn
Gold
Gold
Posts: 1223
Joined: Thu Mar 14, 2013 9:41 am
Location: Central Chaengwattana[Tops]
Excel Ver: 365
Contact:

Re: สอบถามสูตรสำหรับสรุปข้อมูล คงเหลือ

#15

Post by parakorn »

Module2 ครับ

Code: Select all

Sub GotoL()
'
' GotoL Macro
'

'
    ActiveCell.Offset(0, -1).Range("A1").Select
    Sheets("L").Select
End Sub
ต้องการเขียนโค้ดให้ Selection Cell ที่อยู่ตรงกับ ปุ่มดอกจันทร์ ก่อนทำการ Offset(0,-1)
ครับ (เช่นปุ่มแรกตรงกับ K9 โค้ดก็จะ Select K9 แล้ว Offset(0,-1) แล้วจึง Sheets("L").Select ครับ)
User avatar
snasui
Site Admin
Site Admin
Posts: 31156
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: สอบถามสูตรสำหรับสรุปข้อมูล คงเหลือ

#16

Post by snasui »

:D เนื่องจากเป็นงานลักษณะเดียวกัน คือคลิกแล้วให้แสดงผลใด ๆ ลองปรับปรุงจาก Code นี้มาดู ติดตรงไหนค่อยถามกันต่อครับ

Code: Select all

Sub CreL()
    On Error Resume Next
    Dim obj As Object
    Set obj = Sheets("L").Shapes(Application.Caller)
    Sheets("Cre Recive").Select
    ActiveCell.Select
    Selection.Value = obj.DrawingObject.Caption
End Sub
User avatar
parakorn
Gold
Gold
Posts: 1223
Joined: Thu Mar 14, 2013 9:41 am
Location: Central Chaengwattana[Tops]
Excel Ver: 365
Contact:

Re: สอบถามสูตรสำหรับสรุปข้อมูล คงเหลือ

#17

Post by parakorn »

ลองปรับดูตามโค้ดด้านล่าง ยังไม่สามารถทำงานได้ครับ
ผมยังไม่เข้าใจ ในการเขียนภาษา VBA แบบแทนค่าด้วย ตัวย่อ
หากมีเวลาจะลองศึกษาดูครับผม
ขอรบกวนด้วยครับ

Code: Select all

Sub GotoL()
'
' GotoL Macro
'    On Error Resume Next
    Dim obj As Object
    Set obj = Sheets("Cre Recive").Shapes(Application.Caller)
    Sheets("Cre Recive").Select
'   Selection.Value = obj.ActiveCell.Offset(0, -1).Range("A1").Select
    Sheets("L").Select
End Sub
User avatar
snasui
Site Admin
Site Admin
Posts: 31156
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: สอบถามสูตรสำหรับสรุปข้อมูล คงเหลือ

#18

Post by snasui »

:D แนบไฟล์ที่ได้แนบ Code ตามโพสต์มาด้วยจะได้ช่วยดูต่อไปจากนั้นครับ
User avatar
parakorn
Gold
Gold
Posts: 1223
Joined: Thu Mar 14, 2013 9:41 am
Location: Central Chaengwattana[Tops]
Excel Ver: 365
Contact:

Re: สอบถามสูตรสำหรับสรุปข้อมูล คงเหลือ

#19

Post by parakorn »

module ที่ 2 ครับผม :D
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31156
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: สอบถามสูตรสำหรับสรุปข้อมูล คงเหลือ

#20

Post by snasui »

:D ตัวอย่าง Code ตามด้านล่างครับ

Code: Select all

Sub GotoL()
    Dim obj As Object
    Set obj = Sheets("Cre Recive").Shapes(Application.Caller)
    Sheets("Cre Recive").Select
    Range(obj.TopLeftCell.Address).Offset(0, -1).Select
End Sub
Post Reply