: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

สอบถามครับ เรื่อง vba สั่งให้ปิด-เปิด wb เดิมขึ้นมาใหม่โดยมี

ฟอรัมถาม-ตอบปัญหาการใช้งาน Macro และ 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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
birdzyo
Member
Member
Posts: 4
Joined: Wed Jul 25, 2012 10:24 am

สอบถามครับ เรื่อง vba สั่งให้ปิด-เปิด wb เดิมขึ้นมาใหม่โดยมี

#1

Post by birdzyo »

รบกวนสอบถามอาจารย์ครับ
เรื่อง vba ถ้าเราต้องการเขียนสั่งให้ ปิด-เปิด workbook เดิมขึ้นมาใหม่ แต่ใบนี้เราจะเปิดเป็น read-only นะครับ
ตัวจริงจะมีคนอื่นเปิดอยู่เพื่อลงข้อมูล (ประมาณ refresh ใบของคนอื่นอ่ะครับ)
excel 2003 จะ มีปุ่ม refresh ได้ แต่พอผมมาใช้ 2010 แล้วกด refresh ข้อมูลที่อีกคนเพิ่ง save มันไม่ update ครับ
เลยจะแก้ปัญหาโดยจะทำปุ่ม vba เพิ่อสั่งปิดแล้วเปิดใบ แต่ติดตตรงที่มีเงื่อนไขว่า
ใบที่เราต้องการปิด-เปิดนั้นอยู่ใน share อ่ะครับ เช่น
วันที่ 1 ใบงานจะอยู่ที่ '\\10.10.99.1\share\งาน\01-07\โอน_bird
วันที่ 2 ใบงานจะอยู่ที่ '\\10.10.99.1\share\งาน\02-07\โอน_bird

เราจะเขียน code ยังไงอ่ะครับ ต้องขออภัยจริงๆครับผมคิดไม่ออกจริง
เคย search ข้อมูลในเว็ปของอาจารย์ผมเจอแต่ คำสั่ง เปิด workbook กับสั่ง ปิด workbook

ขอบคุณครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 31253
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: สอบถามครับ เรื่อง vba สั่งให้ปิด-เปิด wb เดิมขึ้นมาใหม่โ

#2

Post by snasui »

:D
birdzyo wrote:แต่พอผมมาใช้ 2010 แล้วกด refresh ข้อมูลที่อีกคนเพิ่ง save มันไม่ update ครับ
มันไม่ควรจะเป็นเช่นนั้นครับ ลองแนบไฟล์ตัวอย่างมาดูครับ
birdzyo
Member
Member
Posts: 4
Joined: Wed Jul 25, 2012 10:24 am

Re: สอบถามครับ เรื่อง vba สั่งให้ปิด-เปิด wb เดิมขึ้นมาใหม่โ

#3

Post by birdzyo »

ผมอาจจะอธิบายไม่กระจ่างผมขอยกตัวอย่างอีกทีนะครับ
ใบงานจะไม่มีสูตรนะครับ
ผมสร้างใบงานชื่อ a (ตอนนี้ไม่มีข้อมูล)
ใบงานจะอยู่ใน share สมมติเป็น 10.10.99.1\share\งาน\01-07\a

แล้วอาจารย์มาเปิดใบงาน a ของผมเป็น จะได้เป็น read-only (ก็จะไม่มีข้อมูล)
เวลาผ่านไป 1 นาที

ใบงาน a ผมพิมข้อมูลลงไป เช่น hello แล้ว save แต่ไม่ได้ปิดนะครับ ตัวจริงผมจะใช้อยู่ตลอดเวลา
ผมบอกอาจารย์ให้ refresh ใบผมเพื่อที่จะให้เห็นคำว่า Hello

ปกติ 2003 จะมีปุ่ม refresh ให้กด ใบมันก็จะปิดเปิดใหม่พร้อมข้อมูลของใบ a ให้อ่ะครับ
แต่ 2010 อาจารย์ต้องปิดใบ a ของผมแล้วเปิดใหม่ถึงจะเห็นคำว่า hello
ผมเข้าใจถูกเปล่าครับ
ผมลอทดลองกับคอม 2 เครื่อง ดู เครื่องที่เปิดใบ read-only พอกด refresh คำว่า hello มันไม่ขึ้นมาอ่ะครับ
ผมเลยจะใส่ vba ที่ปิดเปิดใบใหม่ เพื่อที่จะให้เครื่องที่ read-only กดปุ่มแล้วสั่งปิด-เปิดใบ a ขึ้นมาใหม่ครับ


ขอบคุณอาจารย์มากครับที่เข้ามาตอบกระทู้ผม
User avatar
snasui
Site Admin
Site Admin
Posts: 31253
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: สอบถามครับ เรื่อง vba สั่งให้ปิด-เปิด wb เดิมขึ้นมาใหม่โ

#4

Post by snasui »

:D กรณีที่ต้องการให้ใช้ไฟล์เดียวกันพร้อมกันหลาย ๆ คนเราใช้วิธีการ Share ครับ การ Share ด้วย 2010 ทำได้โดยเข้าเมนู Review แล้วคลิกที่ Share Workbook จะมีหน้าต่างให้กำหนดการ Share

เมื่อ Share เรียบร้อยแล้วสามารถทำงานพร้อมกันหลายคน เมื่อเปิดไฟล์จะไม่มี Read Only ครับ เปิดได้เลย หากต้องการที่จะดูข้อมูลที่ Update ล่าสุดก็คลิก Refresh ได้เลยเช่นกัน การที่ผมขอดูตัวอย่างก็เพื่อที่จะดูว่า ไฟล์มีการ Share ไว้แล้วหรือไม่ จะได้แนะนำกันในแนวทางที่ควรจะเป็นต่อไปครับ
birdzyo
Member
Member
Posts: 4
Joined: Wed Jul 25, 2012 10:24 am

Re: สอบถามครับ เรื่อง vba สั่งให้ปิด-เปิด wb เดิมขึ้นมาใหม่โ

#5

Post by birdzyo »

ขอบคุณครับอาจารย์ ความรู้ใหม่สำหรับผม :lol:

แล้วถ้าต้องการให้นาย a เปลี่ยนแปลงข้อมูลได้คนเดียว นาย b ,c เปิดดูงานของนาย a ไม่สามารถแก้ไขใบงานของนาย a
นาย b, c ต้องคอย refresh เพื่อ update ข้อมูลได้อย่างเดียวสามารถทำได้เปล่าครับอาจารย์
User avatar
snasui
Site Admin
Site Admin
Posts: 31253
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: สอบถามครับ เรื่อง vba สั่งให้ปิด-เปิด wb เดิมขึ้นมาใหม่โ

#6

Post by snasui »

:D การ Share สามารถที่จะกำหนดสิทธิ์ของผู้ใช้งานได้ครับ ลองศึกษาดูก่อน ติดตรงไหนสามารถถามมาได้ครับ
birdzyo
Member
Member
Posts: 4
Joined: Wed Jul 25, 2012 10:24 am

Re: สอบถามครับ เรื่อง vba สั่งให้ปิด-เปิด wb เดิมขึ้นมาใหม่โ

#7

Post by birdzyo »

ขอบคุณครับอาจารย์
เดี๋ยวผมไปศึกษาก่อนครับผม
เปลี่ยนจากใช้ 2003 มาใช้ 2010 งงเลยผม :o
wisit
Bronze
Bronze
Posts: 348
Joined: Sun Sep 25, 2011 9:42 pm
Excel Ver: 2019

Re: สอบถามครับ เรื่อง vba สั่งให้ปิด-เปิด wb เดิมขึ้นมาใหม่โ

#8

Post by wisit »

อาจารย์ครับ สมมติว่าเรา Share แล้ว เวลาเรานำไฟล์ไปลงในเครื่องนาย ก กับ นาย ข แล้วนาย ก คีย์ข้อมูล นาย ข ก็คีย์ข้อมูล แต่คีย์เชลเดียวกัน สมมตินาย ก คีย์ข้อมูลตั้งแต่ A3 ถึง B50 นาย ข ก็คีย์ข้อมูลตั้งแต่ A3 ถึง B50 เช่นกัน ทีนี้เราเปิดไฟล์งานในเครื่องของเรา สามารถที่จะเห็นข้อมูลที่นาย ก และ ข คีย์ได้หรือเปล่าครับ หรือต้องมีชีทที่เก็บข้อมูลที่แต่ละคนคีย์ถึงจะเป็นเชลเดียวกันก็ตาม

ปล. ผมไม่มีความรู้ในเรื่องนี้เลยครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 31253
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: สอบถามครับ เรื่อง vba สั่งให้ปิด-เปิด wb เดิมขึ้นมาใหม่โ

#9

Post by snasui »

:D การ Share File ตามกระทู้นี้หมายถึงให้เก็บไฟล์นั้นไว้ที่เครื่องใดเครื่องหนึ่ง แล้วสามารถเข้าใช้งานโดยเครื่องอื่น ๆ ได้ไม่เกิน 255 คนพร้อมกัน กรณีมีการคีย์เซลล์เดียวกันโปรแกรมจะเก็บข้อมูลไว้ทั้งหมดครับว่าใครคีย์เซลล์ไหนบ้าง คีย์ค่าใด วัน เวลาใด ผู้ที่เป็น Admin ของไฟล์นั้นสามารถที่จะยอมรับหรือปฏิเสธค่าที่คีย์ได้ทุกเวลาที่ต้องการ

กรณีที่นำไฟล์ที่ Share ไปไว้ในเครื่องของ User คนละเครื่อง เราสามารถนำไฟล์นั้นกลับมา Merge กันได้เช่นกัน เมื่อ Merge กันแล้วหากมีการคีย์เซลล์เดียวกันโปรแกรมก็จะเก็บข้อมูลเอาไว้ ผู้ที่ Merge สามารถที่จะยอมรับหรือปฏิเสธค่าใด ๆ ได้เหมือนกับกรณีแรก ดูตัวอย่างเพิ่มเติมที่นี่ครับ http://www.gcflearnfree.org/excel2010/extra/63
wisit
Bronze
Bronze
Posts: 348
Joined: Sun Sep 25, 2011 9:42 pm
Excel Ver: 2019

Re: สอบถามครับ เรื่อง vba สั่งให้ปิด-เปิด wb เดิมขึ้นมาใหม่โ

#10

Post by wisit »

ขอบคุณครับอาจารย์ เดี่ยวผมจะลองศึกษาดูครับ
Post Reply