: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 Access 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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
mikungiii
Member
Member
Posts: 9
Joined: Thu May 12, 2016 5:37 pm

ช่วยหน่อนค่ะการคำนวณตามเงื่อนไข

#1

Post by mikungiii »

ไม่มีความรู้ทางด้านนิพจน์ และ VBA เท่าไรค่ะ
อยากให้ท่านอาจารย์ช่วยหน่อยค่ะ

เริ่มต้นสั่งให้เลือก ปุ่มตัวเลือกก่อน โดยสร้างเป็นกลุ่มไว้แล้ว ซึ่งจะให้มีค่าต่างกันอย่างไรคะ

หลังจากเลือกแล้ว สร้างปุ่มให้คำนวณดังนี้
ถ้า ราคากำไรรวม >= ปุ่มตัวเลือก ในช่อง Total ราคารวมจะเท่าเดิม
แต้ถ้า ราคากำไรรวม < ปุ่มตัวเลือก จะนำเอา [(ปุ่มตัวเลือก-ราคากำไรรวม)+ช่อง Total ราคารวม] จะปรากฏราคาใหม่ในช่อง Total

ประมาณนี้นะคะ
User avatar
snasui
Site Admin
Site Admin
Posts: 30917
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ช่วยหน่อนค่ะการคำนวณตามเงื่อนไข

#2

Post by snasui »

:D หากยังไม่มีความรู้ให้ศึกษามาก่อนตามลำดับครับ กรณีมีความรู้บ้างแล้ว ให้แนบไฟล์ตัวอย่างพร้อม Code ที่เขียนมาเองแล้ว อธิบายขั้นตอนการทำงาน พร้อมคีย์คำตอบที่ต้องการลงมาในไฟล์ด้วย แจ้งด้วยว่าติดขัดในขั้นตอนใด จะได้ตอบได้ตรงประเด็นครับ
mikungiii
Member
Member
Posts: 9
Joined: Thu May 12, 2016 5:37 pm

Re: ช่วยหน่อนค่ะการคำนวณตามเงื่อนไข

#3

Post by mikungiii »

ในฟอร์ม SALE นะคะอาจารย์
เมื่อทำการกำหนดรหัสลูกค้า จะแสดง Zone ลูกค้ามาค่ะ ซึ่งแต่ละ Zone มีต้นทุนในการขนส่งไม่เท่ากัน
และ ทำการเลือกสินค้า แล้วกด F9 จะคำนวณ "ราคารวม" และ "กำไรรวม" ที่ได้ ออกมา

ซึ่งยังติดตรงข้างล่างนี้ค่ะ
1. อยากให้มันเลือก Zone ให้ตรงกับข้างบนเลย (อันนี้ไม่ได้ไม่เป็นไรค่ะ)
2. ตัวเลือก Zone จะกำหนดค่าต้นทุนในการขนส่งไม่เท่ากัน กำหนดอย่างไรคะ เช่น zoneA = 16 ,zoneC = 32
3. แล้วสุดท้ายต้องการให้ เมื่อกดปุ่ม "คำนวณการขนส่ง" ให้โปรแกรมคำนวณผลต่างของ ต้นทุนตาม Zone ที่เลือก กับ กำไรรวม
ถ้าต้นทุนมากกว่าผลกำไร ให้นำผลต่างไปรวมกับช่อง "ราคารวม"
ถ้าต้นทุนน้อยกว่าผลกำไร ช่อง "ราคารวม"จะเท่าเดิมค่ะ

http://www.drop4shared.com/36a142af ไฟล์แนบค่ะ
User avatar
snasui
Site Admin
Site Admin
Posts: 30917
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ช่วยหน่อนค่ะการคำนวณตามเงื่อนไข

#4

Post by snasui »

:D ค่อย ๆ ถามตอบกันไปครับ

สำหรับข้อ 1 ลองทำตามด้านล่างและทำกับทุก Option Button ครับ

ส่วนข้อ 2 กำหนดให้แสดงตรงไหน อย่างไร ช่วยอธิบายมาอีกรอบ เข้าใจว่าจะส่งผลไปยังข้อ 3 ด้วยครับ
You do not have the required permissions to view the files attached to this post.
mikungiii
Member
Member
Posts: 9
Joined: Thu May 12, 2016 5:37 pm

Re: ช่วยหน่อนค่ะการคำนวณตามเงื่อนไข

#5

Post by mikungiii »

ก่อนอื่นต้องขอบพระคุณมากๆเลยค่ะ

ส่วนข้อ2 และ ข้อ3 พอคลิกปุ่มคำนวณ ให้ดึงค่า OptionButton ที่เลือก และดึงกำไรรวม ไปคำนวณเลยได้มั้ยคะ ประมาณนี้ค่ะ
User avatar
snasui
Site Admin
Site Admin
Posts: 30917
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ช่วยหน่อนค่ะการคำนวณตามเงื่อนไข

#6

Post by snasui »

:D จากไฟล์ที่แนบมา ช่วยยกตัวอย่างการกรอกข้อมูล และตัวอย่างคำตอบที่ถูกต้องมาด้วย จะได้สะดวกในการทำความเข้าใจว่าต้องการให้แสดงผลที่ไหน อย่างไร ด้วยค่าเท่าใด เช่นนี้เป็นต้นครับ
mikungiii
Member
Member
Posts: 9
Joined: Thu May 12, 2016 5:37 pm

Re: ช่วยหน่อนค่ะการคำนวณตามเงื่อนไข

#7

Post by mikungiii »

การกรอกข้อมูล : ขั้นตอนคือเลือกลูกค้า และสินค้าที่จะสั่ง กด F9 มันจะแสดงราคารวม(Total) และ กำไร(A) ที่ได้ ออกมา
การกำหนดค่า : ลูกค้าแต่ละคนมี Zone(B) กำหนดไว้แล้ว
- แต่ละโซน มีค่าไม่เท่ากัน ต้องกำหนดค่าให้แต่ละ optionbotton ยังไงคะ ?
ให้ zoneA=16,zoneB=27,zoneC=43,ZoneD=60,zoneE=75

คำนวนค่าขนส่ง : โดยกดที่ปุ่มคำนวณ มีเงื่อนไขว่า กำไร(A)ครั้งนี้ >= ค่า Zone(B) ส่งผลให้ในช่องราคารวม(Total) จะไม่บวกอะไรเพิ่มเพิ่ม
แต่ ถ้า กำไร(A)ครั้งนี้ < ค่า Zone(B) ก็จะนำค่า [ ((B)-(A)) + เพิ่มในช่องราคารวม(Total) ] แสดงผลที่ช่องราคารวมค่ะ

ขอโทษค่ะอาจารย์ที่อธิบายไม่ค่อยเข้าใจ TT
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30917
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ช่วยหน่อนค่ะการคำนวณตามเงื่อนไข

#8

Post by snasui »

:D จากภาพที่แนบมานั้น ปุ่มคำนวณเขียนคำสั่งไว้ที่ไหน อย่างไร หากเป็น VBA จำเป็นต้องเขียนมาเองก่อน ติดแล้วค่อยถามกันต่อครับ :?:
mikungiii
Member
Member
Posts: 9
Joined: Thu May 12, 2016 5:37 pm

Re: ช่วยหน่อนค่ะการคำนวณตามเงื่อนไข

#9

Post by mikungiii »

ตอนนี้ยังไม่มีแนวทางในกรเขียนเลยค่ะว่าควร เขียนไปแนวไหน ควรใช้ มาโคร หรือ นิพจน์ด้วยเงื่อนไขใด TT ไม่รู้จริงๆค่ะมืดแปดด้านมาก
User avatar
snasui
Site Admin
Site Admin
Posts: 30917
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ช่วยหน่อนค่ะการคำนวณตามเงื่อนไข

#10

Post by snasui »

:D จากไฟล์ที่แนบ Link มา ปุ่มคำนวณมีคำสั่งเขียนไว้แล้ว เมื่อคลิกจึงคำนวณค่าออกมาได้

ไม่ทราบว่าเขียนที่ใด เขียนไว้ว่าอย่างไรครับ

Form ในไฟล์กับภาพที่แนบมาด้านบนไม่เหมือนกันทั้งหมด ไม่ทราบว่าได้ Update ไปแค่ไหน อย่างไร ควรแนบตัวอย่างที่เป็นตัวล่าสุดมาครับ
mikungiii
Member
Member
Posts: 9
Joined: Thu May 12, 2016 5:37 pm

Re: ช่วยหน่อนค่ะการคำนวณตามเงื่อนไข

#11

Post by mikungiii »

ตอนนี้ได้แก้ไข รูปแบบหน้าต่างไปค่ะ
ตอนนี้เหลือปัญหาเดียวแล้วคือ เงื่อนไข การเลือกคำนวณราคาใหม่ค่ะ

เขียนไว้ตรงนี้ค่ะ แต่ตรงช่อง Total มันยังไม่เปลี่ยนให้ค่ะ ไม่รู้ผิดตรงไหน

Private Sub Command359_Click()
If Forms("SALE").Controls("Text346") < Forms("SALE").Controls("Text346") =True Then
Forms("Frmb").Controls("Text111") = ((Forms("SALE").Controls("Text346") - Forms("Frmb").Controls("Text79")) + Forms("Frmb").Controls("Text111")
End If
End Sub

คำนวนราคาใหม่ : โดยกดที่ปุ่มคำนวณราคาใหม่ มีเงื่อนไขว่า กำไร(A)ครั้งนี้ < ค่า Zone(B) ส่งผลให้
ที่ช่องTotal = [ ((B)-(A)) + เพิ่มในช่องราคารวม(Total) ]
แต่ตรงช่อง Total มันยังไม่เปลี่ยนให้ค่ะ

ไฟล์แนบใหม่ค่ะ
http://www.drop4shared.com/1f94b477
User avatar
snasui
Site Admin
Site Admin
Posts: 30917
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ช่วยหน่อนค่ะการคำนวณตามเงื่อนไข

#12

Post by snasui »

:D ไม่สามารถดาวน์โหลดไฟล์ได้ครับ

กรุณาทำเป็นตัวอย่างไฟล์แล้วส่งไปที่ snasui@gmail.com อีกรอบครับ
mikungiii
Member
Member
Posts: 9
Joined: Thu May 12, 2016 5:37 pm

Re: ช่วยหน่อนค่ะการคำนวณตามเงื่อนไข

#13

Post by mikungiii »

ส่งไปทางเมลล์แล้วค่ะอาจารย์

ตอนนี้ พบปัญหาแล้วค่ะ
ใช้โค็ตนี้อยู่ค่ะ

Private Sub Command359_Click()
If [Text79] < [Text346] Then
[Text111] = [Text111] + ([Text346] - [Text79])
End If
End Sub

แต่ [Text111] กับ [Text79] มันอยู่ในฟอร์มย่อยค่ะ ทำให้มันไม่สามารถดึงตัวเลขไปคำนวณได้
ต้องแก้ไขอย่างไรคะ
Last edited by mikungiii on Wed May 18, 2016 9:56 pm, edited 1 time in total.
User avatar
snasui
Site Admin
Site Admin
Posts: 30917
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ช่วยหน่อนค่ะการคำนวณตามเงื่อนไข

#14

Post by snasui »

:D เขียน Form กำกับเข้าไปด้วยครับ เช่น

Code: Select all

Private Sub Command359_Click()
If Forms![Form1]![Text79] < Forms![Form1]![Text346] Then
Forms![Form1]![Text111] = Forms![Form1]![Text111] + (Forms![Form1]![Text346] - Forms![Form1]![Text79])
End If
End Sub
การโพสต์ Code ควรโพสต์ให้แสดงเป็น Code เพื่อสะดวกในการอ่านและแตกต่างจากข้อความทั่วไป ดูตัวอย่างได้จาก Link นี้ครับ viewtopic.php?f=6&t=1187
mikungiii
Member
Member
Posts: 9
Joined: Thu May 12, 2016 5:37 pm

Re: ช่วยหน่อนค่ะการคำนวณตามเงื่อนไข

#15

Post by mikungiii »

ขอบคุณค่ะอาจารย์ แต่มันยังทำไม่ได้
โปรแกรมแจ้งว่า ไม่พบฟอร์ม"frmb" ที่อ้างอิง
ที่เป็นฟอร์มย่อย ที่ใส่ในฟอร์มหลักนี้ค่ะ
User avatar
snasui
Site Admin
Site Admin
Posts: 30917
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ช่วยหน่อนค่ะการคำนวณตามเงื่อนไข

#16

Post by snasui »

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

Code: Select all

Private Sub Command359_Click()
    Dim valA As Double
    Dim valB As Double
    Dim valC As Double
    Dim subFrm As Form
    Set subFrm = Form_Frmb
    valA = Me.Text346.Value
    valB = subFrm.Text79.Value
    valC = subFrm.Text111.Value
    If valA < 43 Then
        valC = valA - valB + valA
    End If
End Sub
mikungiii
Member
Member
Posts: 9
Joined: Thu May 12, 2016 5:37 pm

Re: ช่วยหน่อนค่ะการคำนวณตามเงื่อนไข

#17

Post by mikungiii »

แสดงผลได้แล้วค่ะ อาจารย์
แต่ยังติดอยู่นิดหน่อยค่ะ มันไม่สามารถคำนวณแล้วแสดงค่าใน Textbox นี้ได้ เพราะตรง subFrm.Text111.Value มันมีแหล่งตัวควบคุม =Sum([Money]) อันนี้อยู่ ทำอย่างไรให้มันสามารถอัพเดทค่าใน Textbox นี้ ได้หรือไม่คะ
User avatar
snasui
Site Admin
Site Admin
Posts: 30917
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ช่วยหน่อนค่ะการคำนวณตามเงื่อนไข

#18

Post by snasui »

:D ควรแสดงผลลัพธ์ที่ Control ตัวอื่นซึ่งอาจจะสร้างขึ้นใหม่ แทนที่จะนำกลับไปแสดงที่ subFrm.Text111 จะได้ติดตามได้ว่าเดิมเป็นเท่าใด

Code นั้น ผมประสงค์ให้ปรับใช้ ไม่ใช่นำไปใช้ตรง ๆ กรณีต้องการจะ Assign ค่าให้กับ subFrm.Text111 ก็ให้แทน valC ด้วย subFrm.Text111 เช่น

Code: Select all

If valA < 43 Then
    subFrm.Text111.Value = valA - valB + valA
End If
เป็นต้น

ที่บอกว่าไม่สามารถแสดงใน subFrm.Text11.Value ได้นั้น โปรแกรมฟ้องว่าอย่างไรแจ้งมาด้วยเสมอครับ
Post Reply