snasui.com ยินดีต้อนรับ
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ ระบุ Version ของ Excel
ฟอรัมถาม-ตอบปัญหาการใช้งาน MS Excel and VBA
Forum rules
ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code]
และปิดด้วย [/code]
ตัวอย่างเช่น [code]dim r as range[/code]
เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
thanasit55
Member
Posts: 38 Joined: Mon Jun 23, 2014 10:52 pm
#1
Post
by thanasit55 » Fri Sep 18, 2015 8:28 am
รบกวนอาจารย์หน่อยนะครับพอดีติดปัญหาการใช code เพื่อปิดตัวโปรแกรม excel ครับ เวลารัน code แล้ว มันจะไปปิดโปรแกรม excel อื่นๆ ด้วยครับ ผมอยากให้มันปิดแค่ตัวงาน นั้นๆแทนไปครับ เช่นเปิดงาน 3 งาน ชื่อ 1.xlsx 2.xlsm 3.xlsm Run code ที่ 2.xlsm ก็ให้มันปิดแค่ 2.xlsm ครับ ตัวอย่าง code ครับ
Code: Select all
Sub saveexit()
Dim x As Integer
x = MsgBox(" ต้องการ Save แล้ว ออก ใช่หรือไม่", vbOKCancel, "คำเตือน")
If x = vbOK Then
ActiveWorkbook.save
Application.DisplayAlerts = False
Application.Quit
Else
Sheets("sheet1").Select
End If
End Sub
ถามเพิ่มเติมครับ เราสามารถจัดข้อความใน MsgBox ให้อยู่ตรงกลางได้หรือไม่ครับแล้วสามารถรใส่สีข้อความลงไปด้วยได้หรือไม่ครับ
ขอบคุณมากครับ
You do not have the required permissions to view the files attached to this post.
suka
Silver
Posts: 918 Joined: Tue Nov 16, 2010 7:38 pm
Excel Ver: 2007,2021
#2
Post
by suka » Fri Sep 18, 2015 9:31 am
ใช้ ActiveWindow.Close
แทน Application.Quit
ไหมคะ
thanasit55
Member
Posts: 38 Joined: Mon Jun 23, 2014 10:52 pm
#3
Post
by thanasit55 » Fri Sep 18, 2015 1:30 pm
suka wrote: ใช้ ActiveWindow.Close
แทน Application.Quit
ไหมคะ
ได้แล้วครับขอบคุณมากครับ
ถามต่อครับ อยากให้ข้อความใน MsgBox ให้มันมาอยู่ตรงกลางแบบนี้มันสามารถทำได้ไหมครับ กับพวกใส่สีในข้อความ ครับ
ขอบคุณมากนะครับ
snasui
Site Admin
Posts: 30919 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#4
Post
by snasui » Fri Sep 18, 2015 2:36 pm
ช่วยอธิบายคำว่า "อยู่ตรงกลาง" ว่ามีลักษณะเป็นอย่างไร วาดเป็นภาพมาก็ได้ครับ
การใส่สีข้อความก็เช่นเดียวกัน ต้องการใส่สีข้อความไหน อย่างไร อธิบายเพิ่มเติมด้วยครับ
thanasit55
Member
Posts: 38 Joined: Mon Jun 23, 2014 10:52 pm
#5
Post
by thanasit55 » Fri Sep 18, 2015 7:18 pm
snasui wrote: ช่วยอธิบายคำว่า "อยู่ตรงกลาง" ว่ามีลักษณะเป็นอย่างไร วาดเป็นภาพมาก็ได้ครับ
การใส่สีข้อความก็เช่นเดียวกัน ต้องการใส่สีข้อความไหน อย่างไร อธิบายเพิ่มเติมด้วยครับ
- ข้อความที่อยากให้อยู่ตรงกลางคือข้อความใน MsgBox ที่เด้งขึ้นมาหลังจากกดปุ่ม ครับ อยากให้มันเหมือนในรูปนี้ครับ(ใช้ paintตัดข้อความมาใส่เอา
)
- ส่วนสีในข้อความคือ สีใน MsgBox "ต้องการ Save แล้ว ออก ใช่หรือไม่" ครับ อยากรู้ว่ามันใส่สีตัวอักศรได้หรือเปล่าครับ
ขอบคุณมากครับ
snasui
Site Admin
Posts: 30919 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#6
Post
by snasui » Fri Sep 18, 2015 7:29 pm
ทั้งหมดที่กล่าวมานั้นไม่สามารถจัดการได้ครับ
กล่องข้อความนั้นไม่มี Option ให้ไปกำหนดสิ่งที่กล่าวมา ยกเว้นการแสดงปุ่ม แสดงข้อความเท่านั้นครับ
thanasit55
Member
Posts: 38 Joined: Mon Jun 23, 2014 10:52 pm
#7
Post
by thanasit55 » Fri Sep 18, 2015 8:19 pm
snasui wrote: ทั้งหมดที่กล่าวมานั้นไม่สามารถจัดการได้ครับ
กล่องข้อความนั้นไม่มี Option ให้ไปกำหนดสิ่งที่กล่าวมา ยกเว้นการแสดงปุ่ม แสดงข้อความเท่านั้นครับ
ขอบคุณมากครับ อาจารย์
Chanisa
Member
Posts: 5 Joined: Tue Feb 23, 2021 7:23 pm
Excel Ver: 2016
#8
Post
by Chanisa » Tue Feb 23, 2021 7:28 pm
สอบถามcodeค่ะ หากเราใช้ ActiveWindow.Close แต่ excel file มัน ถามต่อว่าจะให้ SAVE หรือ Don't SAVE แล้วเราไม่ต้องการ Save หรือต้องการ SAVE มี code อะไรบ้างค่ะ
ขอบคุณค่ะ
snasui
Site Admin
Posts: 30919 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#9
Post
by snasui » Tue Feb 23, 2021 7:33 pm
Chanisa wrote: Tue Feb 23, 2021 7:28 pm
เราไม่ต้องการ Save
กรณีไม่ Save ใช้
ActiveWindow.Close false
ครับ
Chanisa wrote: Tue Feb 23, 2021 7:28 pm
หรือต้องการ SAVE
กรณี Save ใช้
ActiveWindow.close true
ครับ
Chanisa
Member
Posts: 5 Joined: Tue Feb 23, 2021 7:23 pm
Excel Ver: 2016
#10
Post
by Chanisa » Tue Feb 23, 2021 8:32 pm
ขอบคุณมากค่ะ
nettory
Member
Posts: 10 Joined: Sun Dec 26, 2021 10:56 am
Excel Ver: 2013
#11
Post
by nettory » Sun Dec 26, 2021 11:00 am
thanasit55 wrote: Fri Sep 18, 2015 1:30 pm
suka wrote: ใช้ ActiveWindow.Close
แทน Application.Quit
ไหมคะ
ได้แล้วครับขอบคุณมากครับ
ถามต่อครับ อยากให้ข้อความใน MsgBox ให้มันมาอยู่ตรงกลางแบบนี้มันสามารถทำได้ไหมครับ กับพวกใส่สีในข้อความ ครับ
ขอบคุณมากนะครับ
ผมใส่ใน vba แล้วตรงตามที่ต้องการ แต่ในโค้ดผมเจอปัญหาครับ ถ้ากด ok จะปิดปกติ แต่ถ้ากด cancel มันจะเออเร่อครับ สามารถแก้ไขได้ไหมครับ ถ้ากด cancel แล้วให้ยังคงอยู่หน้าเดิมต่อไปครับ
snasui
Site Admin
Posts: 30919 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#12
Post
by snasui » Sun Dec 26, 2021 9:17 pm
แนบไฟล์นั้นมาด้วยจะได้ช่วยสะดวกต่อการช่วยกันหาคำตอบครับ